不同于SQL語(yǔ)言,對(duì)ElasticSearch引擎發(fā)送的查詢請(qǐng)求,有兩種方式:第一種方式是使用RESTful 風(fēng)格的API請(qǐng)求對(duì)數(shù)據(jù)進(jìn)行搜索或更新,這意味著,必須使用搜索API向ElasticSearch引擎發(fā)起搜索請(qǐng)求;第二種方式是使用Qeury DSL,將查詢語(yǔ)言封裝成JSON結(jié)構(gòu),發(fā)送給ElasticSearch引擎。DSL是領(lǐng)域?qū)S谜Z(yǔ)言(Domain-Specific Language)的首字母縮寫(xiě),是一種通用的大數(shù)據(jù)查詢語(yǔ)言,用于實(shí)現(xiàn)海量數(shù)據(jù)的檢索分析。

本系列是ElasticSearch的入門(mén)文章,用于介紹搜索API的使用方法,只求快速入門(mén),想要深入了解,最好的文檔永遠(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)寫(xiě)為只包含“HTTP動(dòng)詞+端點(diǎn)+查詢參數(shù)”的簡(jiǎn)寫(xiě)格式,如下:

GET /_search?q=user:kimchy

將帶有POST請(qǐng)求主體的查詢,如下:

curl -XGET 'http://localhost:9200/twitter/tweet/_search' -d '{
    "query" : {        "term" : { "user" : "kimchy" }
    }
}'

簡(jiǎn)寫(xiě)為只包含“HTTP動(dòng)詞+端點(diǎn)+請(qǐng)求主體JSON”的格式,如下:

Android培訓(xùn),安卓培訓(xùn),手機(jī)開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

GET /_search -d
{    "query" : {        "term" :&n