31

URI ベースのクエリで AND 演算を指定するにはどうすればよいですか? 私は次のようなものを探しています:

http://localhost:9200/_search?q="profiletype:student AND username:s*"
4

4 に答える 4

26

ドキュメントによると、説明どおりに動作するはずです。http://www.elasticsearch.org/guide/reference/query-dsl/query-string-query.htmlを参照してください

とはいえ、次のものも使用できます。

http://localhost:9200/_search?q="+profiletype:student +username:s*"
于 2012-12-05T06:00:41.523 に答える
26

ElasticSearchでのURI 検索の場合、言うように AND 演算子のいずれかを使用できますprofiletype:student AND username:sが、引用符は使用できません。

  _search?q=profiletype:student AND username:s*

デフォルトの演算子を次のように設定することもできますAND

  _search?q=profiletype:student username:s*&default_operator=AND

または、存在しなければならない用語 に+ 演算子+profiletype:student +username:sを使用できます。つまり、クエリ文字列として使用できます。ただし、これは URL エンコーディングがないと機能しません。URL エンコーディング+%2Bであり、スペースは%20であるため、代替手段は次のようになります。

  _search?q=%2Bprofiletype:student%20%2Busername:s*
于 2014-01-10T10:12:43.473 に答える
4

以下の行を試すことができます。

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

http://localhost:9200/_search?q=profiletype:student AND username:s*
于 2017-06-13T20:00:01.553 に答える
3

デフォルトの演算子と + 記号を組み合わせて機能させる必要がありました

curl -XGET 'localhost:9200/apm/inventory/_search?default_operator=AND&q=tenant_id:t2+_all:node_1'
于 2016-12-27T15:12:51.213 に答える