es boolquery 的幾種用法

2022-09-21 19:48:10 字數 1023 閱讀 1037

bool query 對應lucene 的booleanquery,一般由乙個或者多個查詢子句組成,如下**所示:

用法描述

must

查詢一定包含匹配查詢內容,並且提供得分

filter

查詢一定包含匹配查詢內容,但是不提供得分,會對查詢結果進行快取

should

子查詢不一定包含查詢內容

must_not

查詢一定不包含查詢內容,來自於filter 上下文,所以不會由評分,但是會快取

bool 查詢秉持匹配越多越接近的原則,每個子查詢(must or should)評分會被加在一起作為最終評分。

},"filter":

},"must_not" : }},

"should" : [},}

],"minimum_should_match" : 1,

"boost" : 1.0}}}

可以使用minimum_should_match引數指定返回的文件必須匹配的子句的數量或百分比。

如果bool 查詢包含至少乙個should 子查詢並且沒有must 或者filter 查詢,則預設數值是1.否則預設為0.

filter 對評分無影響返回值為0,評分只受到特殊查詢影響,比如,如下三種情況的得分

使用filter,返回的文件得分都為0:

get _search}}

}}使用match_all查詢,所有文件評分都為1.0

get _search

},"filter": }}

}}constant_score 查詢與match_all 完全一致,使用filter 返回所有文件都分配乙個1.0 的評分

get _search}}

}}

每個查詢在頂部的定義裡面都要接收乙個_name  。可以使用這種查詢追蹤匹配返回的文件。比如,返回命中文件必須包含乙個match

查詢的屬性:

jQuery的each方法的幾種常用的用法

下面提一下jquery的each方法的幾種常用的用法 js vararr one two three four each arr,function 上面這個 each輸出的結果分別為 one,two,three,four vararr1 1,4,3 4,6,6 7,20,9 each arr1,fu...

jQuery的each方法的幾種常用的用法

vararr one two three four each arr,function 上面這個each輸出的結果分別為 one,two,three,four vararr1 1,4,3 4,6,6 7,20,9 each arr1,function i,item 其實arr1為乙個二維陣列,ite...

PB視窗之間引數傳遞的幾種用

先來解釋一下引數傳遞的函式意義 message.stringparm 傳的是字元 message.doubleparm 傳的是數值 message.powerobjectparm 傳的是可以是視窗 物件 結構等等 例如 以數值傳遞為例 在w old視窗的相關事件中寫入如下 表示傳送要傳遞引數 lon...