营口二手房出售,射手座流星雨图片,鬼帝的驭兽狂妃
elasticsearch 不像关系型数据库,没有简易的 sql 用来查询数据,只能通过调用 restful api 实现查询。大体上查询分为两种,基于 url 的和基于请求主体的。基于 url 的方式比较简单清晰,用得较多,在这简单记录下。
基于 url 的搜索请求基本模式如上图所示:
1,是一个 linux curl 命令,利用命令行的方式发起一个 http 命令;
2,则是url路径,指明搜索范围,比如上图所指的搜索范围就是 get-together 索引下的 group 类型;
3,是 _search 端点(endpoint),表明这是一个搜索请求;
4,传入一个 pretty参数,美化(格式化)返回结果,非必填。
运行该条命令后,会查询出get-together 索引下的 group 类型下的所有文档。
q 参数用于指定搜索的关键词
# 搜索 get-together 索引,group 类型中,包含“elasticsearch”的文档 curl -x get 'localhost:9200/get-together/group/_search?pretty&q=elasticsearch' # 搜索 get-together 索引,group 类型中,属性 description 包含“elasticsearch”的文档 curl -x get 'localhost:9200/get-together/group/_search?pretty&q=description:elasticsearch'
假设某个搜索请求会返回一大批文档,出于网络性能的考虑,往往不需要全部返回,所以可以使用 from,size 来达到限制结果集数量的目的。from 指定起始,size 指定起始后多少条文档,比如 from=0,size=2,表明从第0条开始返回,最多返回两条文档,如下所示。
curl -x get 'localhost:9200/get-together/group/_search?pretty&from=0&size=2'
size如果不指定,默认为10
对结果排序,默认是降序,可以利用 asc,desc 表明是升序还是降序,另外除了对文档属性值进行排序,还可以对文档的评分进行排序
# 对 created_on 字段进行排序,利用asc,desc指明是升序还是降序 curl -x get 'localhost:9200/get-together/group/_search?pretty&sort=created_on:asc' curl -x get 'localhost:9200/get-together/group/_search?pretty&sort=created_on:desc' # 对文档的评分进行排序 curl -x get 'localhost:9200/get-together/group/_search?pretty&q=elasticsearch&sort=_score'
或出于网络性能,或出于结果清晰,往往只关注文档的某几个属性。我们可以使用 _source 来指明只返回哪些属性
curl -x get 'localhost:9200/get-together/group/_search?pretty&_source=organizer,description'
1.《elasticsearch 实战》- radu gheorghe
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
浅析我对 String、StringBuilder、StringBuffer 的理解
使用IDEA搭建SSM框架的详细教程(spring + springMVC +MyBatis)
Springboot整合freemarker 404问题解决方案
引入mybatis-plus报 Invalid bound statement错误问题的解决方法
网友评论