0
我想做一個布爾查詢與多個必須/應該在另一個布爾查詢內獲得嵌套的AND/OR查詢字符串,如下面的查詢。在elasticsearch的另一個布爾查詢中執行嵌套布爾查詢
{
"query": {
"bool": {
"should": [
**// SHOULD BLOCK 1**
{
<should_query_1>
},
**// SHOULD BLOCK 2**
{
<should_query_2>
},
**// SHOULD BLOCK 3**
{
"bool": {
"must": [
<should_level_2_MUST_query_1>,
<should_level_2_MUST_query_2>,
{
"bool": {
"must": [
<should_level_3_MUST_query_1>,
<should_level_3_MUST_query_2>,
]
}
}
]
}
},
**// SHOULD BLOCK 4**
{
"bool": {
"must": [
<should_MUST_query_1>,
<should_MUST_query_2>
]
}
}
]
}
},
"size": 25,
"from": 0,
"fields": []
}
預期的行爲是,我想應該塊1,2,3,4「或運算和內‘應該阻止3’我希望‘Should_level_2_MUST_queries’是」 AND後。
但在現實中,當我使用這個語法應塊3 & 4「的第一級相與本身並保存執行結果的塊1 & 2.請幫我重新整理/重寫此查詢爲我實現預期的行爲。
在此先感謝
謝謝你今天會試試 – Baaju