2016-10-24 4 views
1

私はElasticsearchの初心者です。今日は、「マルチAND」クエリを作成する際に問題があります。Elasticsearchでmust/shouldと対処する

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) 

、私はいくつかのクエリでそれを行うことを余儀なくしていました: 私は伸縮性に変換するために必要なSQLクエリを持っていますか?

答えて

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"]}} 
        ] 
       }} 
      ] 
     } 
    } 
} 
関連する問題