搜索
GET /yscxy/user/_search?q=name:"野生程序员2"
分值越高,也就意味着匹配度越高!也就是权重
复杂查询
GET /yscxy/user/_search { "query":{ "match": { "name": "野生小子" } }, "_source":["name","tags"] #自定义查询参数 }
排序
GET /yscxy/user/_search { "query":{ "match": { "name": "野生小子" } }, "_source":["name","age"], "sort":[ #通过哪个字段进行排序 { "age":"asc" } ] }
分页
GET /yscxy/user/_search { "query":{ "match": { "name": "野生小子" } }, "_source":["name","age"], "sort":[ { "age":"asc" } ], "from":0, #从第几条开始 "size":1 #返回多少条数据 }
当然数据的下标也是从 0 开始的
布尔值查询
mast 命令,类似 mysql 中的 and
GET /yscxy/user/_search { "query":{ "bool":{ "must": [ { "match": { "name": "野生程序员" } }, { "match": { "age": 3 } } ] } } }
上面也就是多条件查询!
should 相当于 or,两个条件满足一个就好了
GET /yscxy/user/_search { "query":{ "bool":{ "should": [ { "match": { "name": "野生程序员" } }, { "match": { "age": 3 } } ] } } }
must_not 也就是非 相当于 not
GET /yscxy/user/_search { "query":{ "bool":{ "must_not": [ { "match": { "age": 23 } } ] } } }
过滤器
在查询的时候可以,可以使用 filter 进行数据过滤
GET /yscxy/user/_search { "query":{ "bool":{ "must": [ { "match": { "name": "野生" } } ], "filter": [ { "range":{ "age":{ "gte":20 } } } ] } } }
当然也可以这样查询
GET /yscxy/user/_search { "query":{ "match": { "tags": "男 旅游" #多个条件直接用空格隔离开 } } }
精确查询
term 也就是指定词语进行精确查询,这样性能,效率更加快速
term 直接查询精确的
match 会使用分词器进行解析(先分析,再通过分析的文档进行查询,利用倒排索引)
两个类型,一个是 text,另一个是 keyword ,keyword 不会被分词器解析的,而 text 会
下面我们创建文档进行测试
PUT testbdb { "mappings": { "properties": { "name":{ "type": "text" }, "desc":{ "type": "keyword" } } } } PUT testbdb/_doc/1 { "name":"野生程序", "desc":"java desc" } PUT testbdb/_doc/2 { "name":"野生程序", "desc":"java desc2" } GET testbdb/_search { "query": { "term": { "desc": "java desc" } } }
可以看到,类型为 keeyword 的字段并没有被分词器进行解析
高亮查询
GET /yscxy/user/_search { "query":{ "match": { "name": "野生" } }, "highlight":{ "fields": { "name": {} } } }
查询结果
自定义样式
GET /yscxy/user/_search { "query":{ "match": { "name": "野生" } }, "highlight":{ "pre_tags": "<p class-'key' style-'color:red'> ", "post_tags": "</p>", "fields": { "name": {} } } }
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于