关于elasticsearch的安装与基本的增删改查已经在前面有所讲解,此篇以几个常用例子带大家入门ES的基本检索方式
第一种
相当于get请求,在请求后面拼各种参数 不常用,这里不多说
第二种
相当于post请求,有个请求体
https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-search.html
比如
以某个字段升序查全部数据
如果不指定分页具体参数时,是默认查询出最前面十条数据
如下是以某字段升序,查询第十条开始 的十条数据,from与size等价于mysql里limit 后面的俩参数
match相关
address 中包含 Court
address 中包含 mill 或者 lane
测试
短语匹配:address 中包含 mill lane
测试
address 中包含 467 或者 Hutchinson
firstname 或者 lastname 包含 Payne 或者 Dale
下面就不测试了,这里只举一些常用例子
age等于40但是state不等于 ID
测试
balance大于20000并且小于30000
关于term
记住,当字段为text类型时不可使用,非text字段时使用,
关于filter
查询结果里面有个相关性得分,must与should会计算相关性得分,而must_not 与filter不会计算相关性得分,不信你把must换成filter试试
关于 keyword
因为 match 针对字符串 都是 拆解成倒排索引 然后检索 所以 如果要通过某字符串精确检索的话
需要使用 keyword关键字 ,从以下两图 查询结果可以 看出 keyword 为精确匹配 而matchphrase字符串被包含了就行