二、 新增
三、修改
四、 刪除
五、查詢
8、查詢索引下的字段對映
六、 索引模板
2、 檢視索引模板
3 刪除指定模板
4 修改索引模板
5根據索引模板建立索引
此文章不完整,後面用到會慢慢補上,針對es6.8版本的命令列操作指令,請確認版本再往下看下面所有的_doc代替的型別,如果在建立索引時,那可以在put後加上
?include_type_name=false
忽略型別,那麼es建立的預設的型別就是_doc
put 新索引,:
,"欄位名":}
}}}
在7.0以後已經刪除型別了,但是這是6.8還是有型別的,
但是這裡也可以不設定,下面就是乙個例子(但是實際上預設給你建立了_doc型別)
put 新索引? include_type_name=
false}}
}
put 索引/型別/指定的id
post 索引/型別/
put 索引/型別/id?op_type=create
另一種寫法
put 索引/型別/id/_create
put 索引/型別/id?timeout=
5m //超時時間為5分鐘,
post 索引/型別/id/_update
}
}}
通常無法更新現有的字段的對映,但是有例外
給的例子是下面這樣的
put my_index }}
,"user_id":}
}}}
}}
,"user_id":}
}如果建立時不指定型別,那可以在put後加上?include_type_name=false
post 索引/_update_by_query?conflicts=proceed
,"query":}
}
符合查詢要求的都會執行指令碼,有衝突也會執行下去
delete 索引/型別/id
設定刪除此文件的超時時間
delete 索引/型別/id?timeout=
5m
delete 索引
post 索引/_delete_by_query
}}
這樣在此索引下的只要有此欄位名的值符合上面的要求的文件都會被刪除
但是在執行操作時遇到衝突就會中止,不會回滾
如果想遇到衝突繼續執行的話就在後面加上conflicts=proceed
,下面就是乙個例子
post twitter/_doc/_delete_by_query?conflicts=proceed
get 索引/_search
get 索引/型別/_search
get 索引/型別/id
head 索引名
get 索引/型別/id?_source_includes=a*
&_source_excludes=欄位名
另一種寫法
get 索引/型別/id/_source=a*
,欄位名 //以逗號分隔
get 索引/型別/id/_source
如果檢視是否有_source存在,則用
head索引/型別/id/_source
get /_mget,]
}
如果索引和型別相同,完全可以下面這樣寫
get /test/_doc/_mget,]
}
get /test/_doc/_mget
如果想返回的陣列中每乙個文件是全部的就這樣處理,如果不是全部的,只是特定欄位就加上
"_source":[
"field3"
,"field4"
]
get /索引1
,索引2
,欄位2
例子
,"title":,
"abstract":,
"author":,
"name":}
}}}}
}
查詢是否有此索引是否有此型別
put _template/模板名稱,:
,"properties":,
"欄位名":,
"time":}
}}}
get _template
get _template/模板名
get _template/模板名字首 +
*
get _template/模板名1
,模板名2
head _template/模板名稱
delete _template/模板名
刪除重新建唄,當然你也可以用多索引模板的方法新增/覆蓋,但是如果只是簡單的盡量就用乙個索引模板,多了反而麻煩,
首先建立乙個 example* 的索引模板,再根據上面建立索引的方式建立乙個 example_2010 索引,這樣如果不設定字段,則字段就會和索引模板上的一致,如果在建立索引時加了字段,則字段會合併,取並集
如果是兩個索引模板符合,根據order的大小,低的提供基礎,高的在低的基礎上進行新增/覆蓋於特定物件/屬性的對映,之後合併成乙個虛擬的索引模板用於此索引的建立。
警告:如果具有相同order的多個匹配模板,將導致不確定的合併順序
六 ES增刪改查操作
一 查詢 get test index test type 1 1.source 在建立document的時候,使用的request body中的json串。預設情況下,在get的時候,會原封不動的給我們返回回來。2.查詢指定字段 定製返回的結果,指定 source中,返回哪些field get t...
增刪改查基本操作
增加 建立資料庫 create database database name 建立資料庫中的表單 create table table name 列1 資料型別,列2 資料型別,列3 資料型別 往表單中新增資料 insert into table name values 1 2 3 刪除 刪除資料庫...
ES增刪改查
autowired private resthighlevelclient resthighlevelclient 建立索引 test public void testcreateindex throws ioexception 獲取索引 test public void testexistinde...