URIベースのクエリでAND演算を指定する方法を教えてください。私は次のようなものを探しています:AND演算子を使用したElasticsearch URIベースのクエリ
http://localhost:9200/_search?q="profiletype:student AND username:s*"
URIベースのクエリでAND演算を指定する方法を教えてください。私は次のようなものを探しています:AND演算子を使用したElasticsearch URIベースのクエリ
http://localhost:9200/_search?q="profiletype:student AND username:s*"
ドキュメンテーションによると、それはあなたがそれを説明した通りに動作するはずです。あなたが言うように、いずれかのAND演算子profiletype:student AND username:s
を使用していますが、引用符なしすることができ、ElasticSearchにURI searchについて
http://localhost:9200/_search?q="+profiletype:student +username:s*"
:http://www.elasticsearch.org/guide/reference/query-dsl/query-string-query.html
は言った、あなたはまた、次のように使用することができます参照してください
_search?q=profiletype:student AND username:s*
デフォルトの演算子をAND
_search?q=profiletype:student username:s*&default_operator=AND
に設定することもできます
operatorを指定する必要があります。つまり、クエリ文字列にはが使用されます。しかし、これはURLエンコーディングなしでは機能しません。 URLエンコード+
で%2B
で、スペースが%20
あり、そのための代替は
_search?q=%2Bprofiletype:student%20%2Busername:s*
だろう、私はデフォルトの演算子を組み合わせて、+それはあなたが怒鳴るラインを試すことができます
curl -XGET 'localhost:9200/apm/inventory/_search?default_operator=AND&q=tenant_id:t2+_all:node_1'
を動作させるために署名しなければなりませんでした。
http://localhost:9200/_search?q=profiletype:student%20AND%20username:s*
http://localhost:9200/_search?q=profiletype:student AND username:s*
ESは例外をスローします。 'java.lang.IllegalArgumentException:無効なバージョン形式:+ USERNAME:S HTTP/1.1' – ram
これを試してください:curl localhost:9200/_search?q =%2Bprofiletype%3Astudent +%2Busername%3As * – dadoonet
Whoa!それはうまくいった。ありがとう。 – ram