0
我需要根據AND,OR查詢動態地進行彈性搜索查詢。彈性搜索中的OR查詢
用戶輸入類似於SQL格式的字符串:
((("query1 query2" OR query3) OR query4) AND (query5 OR query6)) AND query7
我把它解析到數組:
[
'AND' => [
[
'AND' => [
[
'OR' => [
[
'OR' => [
'" query1 query 2"',
'query3'
]
],
'query4'
]
],
[
'OR' => [
'query5',
'query6'
]
]
]
],
'query7'
]
]
而基於這個數組我需要做一個搜索一個領域上。
喜歡的東西:
{"bool":{"must":[{"match":{"title":"research"}},{"match":{"title":"lecturer"}}]}}
但我堅持使用嵌套條件。請指教。
您的查詢可以簡化爲這'( 「QUERY1 QUERY2」 OR QUERY3 OR查詢4)AND(查詢5或查詢6)AND查詢7「。然後,一個簡單的'bool/must'包裝兩個'bool/should'和一個'match'就可以完成這項工作。 – Val