不同于SQL语言,对ElasticSearch引擎发送的查询请求,有两种方式:第一种方式是使用RESTful 风格的API请求对数据进行搜索或更新,这意味着,必须使用搜索API向ElasticSearch引擎发起搜索请求;第二种方式是使用Qeury DSL,将查询语言封装成JSON结构,发送给ElasticSearch引擎。DSL是领域专用语言(Domain-Specific Language)的首字母缩写,是一种通用的大数据查询语言,用于实现海量数据的检索分析。
本系列是ElasticSearch的入门文章,用于介绍搜索API的使用方法,只求快速入门,想要深入了解,最好的文档永远是官方手册。
一,约定格式
在《ElasticSearch查询》系列文章中,为了简化描述,突出重点,约定将URL字符串中host:port/index/type 省略,
curl -XGET 'http://localhost:9200/twitter/tweet/_search?q=user:kimchy'
简写为只包含“HTTP动词+端点+查询参数”的简写格式,如下:
GET /_search?q=user:kimchy
将带有POST请求主体的查询,如下:
curl -XGET 'http://localhost:9200/twitter/tweet/_search' -d '{ "query" : { "term" : { "user" : "kimchy" } } }'
简写为只包含“HTTP动词+端点+请求主体JSON”的格式,如下:
GET /_search -d { "query" : { "term" :&n