本文共 1189 字,大约阅读时间需要 3 分钟。
如果在服务器里可以使用本地调用
http://localhost:9200/索引名/_search
不在服务器中可以使用下面方式调用
http: //cluster-nodes:port/索引名/_search
cluster-nodes 和 port在ES的配置里
_search 用于查询
下面用于查询所有的索引
{ "query": { "match_all": {} }}
操作展示:
通过match进行单个条件查询件
{ "query": { "match": { "姓名": "小明" } }}
match代表模糊查询,也是一种分词器,会将"小明"分解为[‘小’,‘小明’,’明‘],然后进行查询,导致结果不太精确,解决方式如下:
给参数加上 .keyword
通过term进行精确查询
{ "query": { "bool": { "must": [ { "term": { "姓名.keyword": "小明" } } ] } }}
多个条件查询,需要通过bool
{ "query": { "bool": { "must": [ { "match": { "姓名": "小明" } }, { "match": { "姓名": "男" } } ] } }}
http://localhost:9200/索引名/_count
_count主要用于统计数量,条件跟查询写的一样就行,有个好处是查询出来的数量不受限制,直接查询的话会限制10000条数据
如果在服务器里可以使用本地调用
http://localhost:9200/索引名/_delete_by_query
__delete_by_query 关键字用于查询后删除
通过多个条件查询实现删除操作
{ "query": { "bool": { "must": [ { "term": { "姓名.keyword": "小明" } }, { "term": { "性别.keyword": "man" } } ] } }}
转载地址:http://gtprn.baihongyu.com/