1 想得到所有在tags字段中含有novel或book的文檔。運行以下查詢來達到目的:
{
"query" : {
"terms" : {
"tags" : [ "novel", "book" ],
"minimum_match" : 1
}
}
}
默認只要匹配其一即可
2 被匹配的should節點數目由minimum_should_match參數控,此參數的值描述了文檔被視爲匹配時,應該匹配的should子句的最少數量。舉例來說,它可以是個整數值,比如2,也可以是個百分比,比如75%。
must:被它封裝的布爾查詢必須被匹配,文檔纔會返回
must_not:被它封裝的布爾查詢必須不被匹配,文檔纔會返回
{
"query": {
"bool": {
"should": [
{
"term": {
"title": "aa"
}
},
{
"term": {
"title": "bb"
}
},
{
"term": {
"title": "cc"
}
}
],
"minimum_number_should_match": 1
}
}
}
備註:
should則是包含的條件裏有一個條件爲true就返回,這與must不同,must裏的條件必須全部爲true才能返回
java操作elasticsearch實現條件查詢(match、multiMatch、term、terms、reange)
FR:徐海濤(hunk Xu)
QQ技術交流羣:386476712