Запрос на основе URI Elasticsearch с оператором AND Как указать операцию AND в запросе на основе URI? Я ищу что-то вроде: http://localhost:9200/_search?q="profiletype:student AND username:s*" Ответ 1 Согласно документации, она должна работать, как вы ее описали. См. http://www.elasticsearch.org/guide/reference/query-dsl/query-string-query.html Тем не менее, вы также можете использовать следующее: http://localhost:9200/_search?q="+profiletype:student +username:s*" Ответ 2 Для поиска URI в ElasticSearch вы можете использовать либо оператор 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* Ответ 3 Мне пришлось объединить оператор по умолчанию и знак +, чтобы он работал curl -XGET 'localhost:9200/apm/inventory/_search?default_operator=AND&q=tenant_id:t2+_all:node_1' Ответ 4 Вы можете попробовать строку ниже. http://localhost:9200/_search?q=profiletype:student%20AND%20username:s* http://localhost:9200/_search?q=profiletype:student AND username:s*
Ответ 1 Согласно документации, она должна работать, как вы ее описали. См. http://www.elasticsearch.org/guide/reference/query-dsl/query-string-query.html Тем не менее, вы также можете использовать следующее: http://localhost:9200/_search?q="+profiletype:student +username:s*"
Ответ 2 Для поиска URI в ElasticSearch вы можете использовать либо оператор 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*
Ответ 3 Мне пришлось объединить оператор по умолчанию и знак +, чтобы он работал curl -XGET 'localhost:9200/apm/inventory/_search?default_operator=AND&q=tenant_id:t2+_all:node_1'
Ответ 4 Вы можете попробовать строку ниже. http://localhost:9200/_search?q=profiletype:student%20AND%20username:s* http://localhost:9200/_search?q=profiletype:student AND username:s*