2016-10-24 44 views
1

我是Elasticsearch的初學者,我今天在製作「多與或」查詢時遇到了問題。 我有我需要的彈性轉換SQL查詢:處理必須/應該在Elasticsearch

WHERE host_id = 999 AND psh_pid = 444 AND psh_ppid = 777 
OR host_id = 111 AND psh_pid = 666 AND psh_ppid = 333 
OR ..... (indefinitely) 

難道我不得不與幾個查詢辦呢?

回答

1

我完全抱歉,但我想我已經通過我自己找到了解決辦法:3

如果有人需要這個,我把它放在這裏!

{"from":0, 
"size":100, 
"query": 
    {"bool": 
     {"should": 
      [{"bool": 
       {"must": 
        [{"query_string": 
         {"query":"801","fields":["host_id"]}}, 
        {"query_string": 
         {"query":"1","fields":["psh_pid"]}}, 
        {"query_string": 
         {"query":"0","fields":["psh_ppid"]}} 
       ]} 
      },{"bool": 
       {"must": 
        [{"query_string": 
         {"query":"801","fields":["host_id"]}}, 
        {"query_string": 
         {"query":"2621550","fields":["psh_pid"]}}, 
        {"query_string": 
         {"query":"1","fields":["psh_ppid"]}} 
        ] 
       }} 
      ] 
     } 
    } 
}