elastic search query & filter & query_string

 

 

 

 1、基本概念

一、query時,如何指定返回哪些字段

但願返回name和date字段html

 

但願返回以location.*爲前綴的字段以及date字段;不但願返回location.geolocation字段。sql

 

二、如何對檢索到的結果進行排序

 

三、同時使用多種限制進行查詢

 

 

四、response中各個字段分別是什麼意思

 

五、在某個字段中查找含有指定字段的記錄

 

六、query和filter有何區別?

query是模糊匹配,filter是yes/no匹配。正因如此,filter會比query運行起來快不少。mongodb

七、如何使用filter來約束query的搜索結果

2、幾種經常使用的搜索方式

一、match_all 搜索

match_all顧名思義就是會返回全部指定index下的document。通常來講,它會配合filter進行使用,用來提取知足某些條件的document。例如:nosql

其中,get-together爲index名。3d

二、query_string 搜索

最簡單的query_string的用法爲:htm

 

 默認狀況下,query_string會檢索 _all 字段,這個字段會將document內全部的字段打包在一塊兒。若想要指定query_string搜索的字段,那麼能夠在query語法內,使用諸如"description:nosql"或設置默認字段 default_field: description,例如:blog

如此,因爲query語法內未指定搜索的字段,那麼query_string將在default_field指定的description字段下搜索含有nosql的document。排序

三、AND OR 及 exclude 操做

例如,要搜索名字中含有nosql字樣,但description中不含有mongodb字樣的documentip

四、如何在指定時間範圍內進行搜索

 

五、在哪能查到query_string的全部語法

http://www.lucenetutorial.com/lucene-query-syntax.htmlget

query_string雖然提供了豐富而強大的語法,可是若使用過於複雜的語法會致使閱讀難度陡增。例以下面這段query_string:

相關文章
相關標籤/搜索