Elasticsearch 基于 URL 的搜索请求
2019-01-15 07:02:56来源:博客园 阅读 ()
背景
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
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 指定起始,size 指定起始后多少条文档,比如 from=0,size=2,表明从第0条开始返回,最多返回两条文档,如下所示。
curl -X GET 'localhost:9200/get-together/group/_search?pretty&from=0&size=2'
size如果不指定,默认为10
sort
对结果排序,默认是降序,可以利用 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
或出于网络性能,或出于结果清晰,往往只关注文档的某几个属性。我们可以使用 _source 来指明只返回哪些属性
curl -X GET 'localhost:9200/get-together/group/_search?pretty&_source=organizer,description'
引用
1.《Elasticsearch 实战》- Radu Gheorghe
原文链接:https://www.cnblogs.com/fudashi233/p/10264210.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:Java高阶语法---final
- Spring Boot 教程 - Elasticsearch 2020-06-09
- Invalid [xxx] in servlet mapping 、 <url-pattern& 2020-06-07
- 基于数据库的代码自动生成工具,生成JavaBean、生成数据库文 2020-05-31
- 数据分析 | 基于智能标签,精准管理数据 2020-05-30
- Elasticsearch如何有惊无险地入门,我是用心的 2020-05-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash