不同于SQL語言,對(duì)ElasticSearch引擎發(fā)送的查詢請(qǐng)求,有兩種方式:第一種方式是使用RESTful 風(fēng)格的API請(qǐng)求對(duì)數(shù)據(jù)進(jìn)行搜索或更新,這意味著,必須使用搜索API向ElasticSearch引擎發(fā)起搜索請(qǐng)求;第二種方式是使用Qeury DSL,將查詢語言封裝成JSON結(jié)構(gòu),發(fā)送給ElasticSearch引擎。DSL是領(lǐng)域?qū)S谜Z言(Domain-Specific Language)的首字母縮寫,是一種通用的大數(shù)據(jù)查詢語言,用于實(shí)現(xiàn)海量數(shù)據(jù)的檢索分析。
本系列是ElasticSearch的入門文章,用于介紹搜索API的使用方法,只求快速入門,想要深入了解,最好的文檔永遠(yuǎn)是官方手冊(cè)。
一,約定格式
在《ElasticSearch查詢》系列文章中,為了簡(jiǎn)化描述,突出重點(diǎn),約定將URL字符串中host:port/index/type 省略,
curl -XGET 'http://localhost:9200/twitter/tweet/_search?q=user:kimchy'
簡(jiǎn)寫為只包含“HTTP動(dòng)詞+端點(diǎn)+查詢參數(shù)”的簡(jiǎn)寫格式,如下:
GET /_search?q=user:kimchy
將帶有POST請(qǐng)求主體的查詢,如下:
curl -XGET 'http://localhost:9200/twitter/tweet/_search' -d '{ "query" : { "term" : { "user" : "kimchy" } } }'
簡(jiǎn)寫為只包含“HTTP動(dòng)詞+端點(diǎn)+請(qǐng)求主體JSON”的格式,如下:
GET /_search -d { "query" : { "term" :&n