网上针对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