1. 程式人生 > >elasticsearch學習篇之二索引的建立

elasticsearch學習篇之二索引的建立

上一篇對elasticsearch基本管理做了簡單介紹,具體深入性內容還需,各位通過查詢官方文件來研究,接下來介紹如何建立索引
下面為操作索引的Restapi
1.PUT建立一個資源
2.POST修改或跟新一個資源
3.DELETE刪除一個資源
4.GET獲取一個資源

建立一個索引
put my_index 如下圖
這裡寫圖片描述
檢視索引
get my_index
這裡寫圖片描述
此時mappings為空

建立具體的索引

PUT /my_index
{
“settings”: {
“number_of_shards” : 1,
“number_of_replicas” : 1
},
“mappings”: {
“doc” : {
“dynamic”: “false”,
“id”: {
“type”: “long”
},
“name”: {
“type”: “text”,
“analyzer”: “ik_max_word”
},
“sex”: {
“type”: “keyword”
},
“title”: {
“type”: “test”,
“analyzer”: “ik_max_word”
},
“city”: {
“type”: “string”
},
}
}
}
這裡寫圖片描述


1.my_index為索引名稱(相當於資料庫的表)
2.doc 為索引的型別,可自己指定名稱。
3.dynamic用於配置動態對映,當插入資料的時候遇上如果資料庫欄位中有,索引中沒有的欄位,以下三種設定值會起到不同的效果
true
動態新增新的欄位–預設
false
忽略新的欄位(正常插入資料)
strict
如果遇到新欄位丟擲異常
4.設定分片
number_of_shards
每個索引的主分片數,預設值是 5 。這個配置在索引建立後不能修改。
number_of_replicas
每個主分片的副本數,預設值是 1 。對於活動的索引庫,這個配置可以隨時修改。

5.id,name,sex,title,city 分別為欄位名稱(可根據自己的需求建立多個欄位)

  • elasticsearch常見的資料型別有如下幾種
    string、byte、short、integer、long、float、double、boolean、date 複合資料型別
    array、object

    型別為text時表示需要對該欄位進行分詞, 型別為keyword時表示不需要對該欄位進行分詞

6.analyzer指定所需的分詞器,elasticsearch中預設的分詞器有如下幾種
standard 分詞器,simple 分詞器,Whitespace 分詞器,Stop 分詞器等
我們主要研究中文分詞器的使用
elasticsearch中有較好的中文分詞外掛ik-analyzer,一般我們使用一下兩種分詞器
ik 帶有兩個分詞器
ik_max_word:會將文字做最細粒度的拆分;儘可能多的拆分出詞語
ik_smart:會做最粗粒度的拆分;已被分出的詞語將不會再次被其它詞語佔有

以上為建立索引做出簡單的介紹.建立完索引之後,將介紹資料的匯入