網上針對es常用命令好多都是寫的感覺非常復雜難以理解,所以我還是自己整理了一下相關的常用命令。
對es輸入指令可以用很多種方法比如用es的谷歌瀏覽器插件,亦或者postman,我個人比較喜歡用postman比較簡單直接
1.刪除指定索引下的所有數據
訪問地址解析:
http://ip:9200/text-index/text-doc/_delete_by_query
路徑部分 | 說明 |
---|---|
ip | Elasticsearch 服務器地址(示例中為內網IP) |
text-index | 目標索引名稱(需替換為實際索引名) |
text-doc | 文檔類型(Elasticsearch 7.x+ 后已棄用類型,通常使用?_doc ?占位符) |
_delete_by_query | 固定API路徑,表示按查詢刪除 |
輸入參數:
{"query":{"match_all":{}}}
2.創建索引
http://192.168.1.1:9200/index/test-doc/_mapping
{"test-doc":?{"properties":?{"fildtest":?{"type":?"text",?"store":?true,?"analyzer":?"ik_max_word",?"term_vector":?"with_positions_offsets"}}}}
分析:
type: "text"
:標準文本類型,支持全文檢索store: true
:原始值會單獨存儲(默認僅存_source中)analyzer: "ik_max_word"
:使用IK分詞器的最大細粒度切分模式term_vector: "with_positions_offsets"
:存儲詞項的位置和偏移量
3.添加數據
http://192.168.1.1:9200/index/test-doc
{"fildtest":?"需要添加的文本內容,將自動被ik_max_word_general分詞器處理"}
4.查詢高亮數據
http://192.168.1.1:9200/index/_search
{"query" : { "match" : { "fildtest" : "文本內容" }},"highlight" : {"pre_tags" : ["<tag1>", "<tag2>"],"post_tags" : ["</tag1>", "</tag2>"],"fields" : {"fildtest" : {}}}
}
查詢結果:
5.查詢字段所對應的映射類型(包含文本類型和分詞器信息等)
http://192.168.1.13:9200/index/_mapping