2017-12-01 20 views
1

を私は複数のフィールドは、この方法を検索することができ、迅速URI searchElasticsearch URI検索複数のフィールド

GET twitter/tweet/_search?q=user:kimchy 

ように私は何ができますか?たとえば、user:kimchy AND age:23?私は1(エラー)を試してみました何


curl -XDELETE localhost:9200/myindex/ 
curl localhost:9200/myindex/mytype/1 -d '{"a":1,"b":9}' 
curl localhost:9200/myindex/mytype/2 -d '{"a":9,"b":9}' 
curl localhost:9200/myindex/mytype/3 -d '{"a":9,"b":1}' 

は、私はちょうど文書{"a":9, "b":9}をしたいと言う、私は

GET localhost:9200/myindex/_search?q=a:9&b:9 

を試してみましたが、私はエラー

{ 
    error: { 
     root_cause: [{ 
      type: "illegal_argument_exception", 
      reason: "request [/myindex/_search] contains unrecognized parameter: [b:9]" 
     }], 
     type: "illegal_argument_exception", 
     reason: "request [/myindex/_search] contains unrecognized parameter: [b:9]" 
    }, 
    status: 400 
} 
を取得スペースが重要である

GET localhost:9200/myindex/_search?q=a:9 AND b:9 

:私は2(!作品を)試してみました何


。あるいは、%20を使用します。

+0

[類似の質問](https://stackoverflow.com/questions/40729271/how-to-search-on-multiple-fields-in-uri-search)よりも複雑なクエリが必要です。私は平等をテストします。 – sam

+0

はい、可能です。やってみました? – Val

答えて

1

はい、できます。あなたはこのように、このRESTエンドポイントを使用しているとき、私はあなたが本当に活用していると思うこと

GET twitter/tweet/_search?q=user:kimchy AND age:23 

注:URIこれをデコードした場合、それはと同等だと

GET twitter/tweet/_search?q=user:kimchy%20AND%20age:23 

注:このような何かを試してみてくださいquery_string_queryのようなものですこれらのドキュメントを参照して、使用可能なクエリ文字列の言語と機能の範囲を知ることができます。

+0

私の質問で「私の質問で、例えば、ユーザ:キムチと年齢:23」と言ったとき、私は文字通りこの構文について話していませんでした。どうもありがとうございます。 – sam

0

はいできます。

GET twitter/tweet/_search?q=user:kimchy&title:jones&pretty=true 

pretty=trueかなり応答出力用:このような何かを試してみてください。

+0

Vadimのヘルプに感謝します。私はこのアプローチを試み、私の質問で試したものを更新しましたが、残念なことにエラーが発生しました。 – sam

+0

エラーメッセージを共有できますか? –

+0

はい。私は私の質問に「私が試したもの」を含めました。ありがとう。 – sam

関連する問題