2012-12-05 11 views

答えて

17

ドキュメンテーションによると、それはあなたがそれを説明した通りに動作するはずです。あなたが言うように、いずれかのAND演算子profiletype:student AND username:sを使用していますが、引用符なしすることができ、ElasticSearchにURI searchについて

http://localhost:9200/_search?q="+profiletype:student +username:s*" 
+0

ESは例外をスローします。 'java.lang.IllegalArgumentException:無効なバージョン形式:+ USERNAME:S HTTP/1.1' – ram

+1

これを試してください:curl localhost:9200/_search?q =%2Bprofiletype%3Astudent +%2Busername%3As * – dadoonet

+0

Whoa!それはうまくいった。ありがとう。 – ram

13

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* 
2

だろう、私はデフォルトの演算子を組み合わせて、+それはあなたが怒鳴るラインを試すことができます

curl -XGET 'localhost:9200/apm/inventory/_search?default_operator=AND&q=tenant_id:t2+_all:node_1' 
2

を動作させるために署名しなければなりませんでした。

http://localhost:9200/_search?q=profiletype:student%20AND%20username:s* 

http://localhost:9200/_search?q=profiletype:student AND username:s* 
関連する問題