Ответ 1
Если вы используете сенсорный плагин, вы можете писать так
POST myindex1/_search
{
"query": {"match_all": {}}
}
Какой URL-адрес вы используете для выполнения запросов индексов?
Я вижу здесь следующее, но для чего это URL? http://www.elasticsearch.org/guide/reference/query-dsl/indices-query.html
Единственный способ, которым я знаю, как искать в эластичном поиске, - это URI:
http://localhost:9200/myindex
Проблема, с которой я сталкиваюсь, заключается в том, что у меня есть несколько индексов с разными документами myindex1 myindex2 myindex3
и я хочу, чтобы иметь возможность выполнять любой запрос на myindex1 и myindex2 (или просто myindex2 и myindex3)
Это возможно? Также вы можете комбинировать индексный запрос с QueryDSL как запрос match_all или запрос условий:
http://www.elasticsearch.org/guide/reference/query-dsl/terms-query.html
Пожалуйста, покажите пример примерного URL-адреса и, если возможно, в теле запроса, чтобы я мог получить представление.
Если вы используете сенсорный плагин, вы можете писать так
POST myindex1/_search
{
"query": {"match_all": {}}
}
Вы можете попробовать:
curl http://localhost:9200/myindex1,myindex2/_search?q=*
Или
curl -XPOST http://localhost:9200/myindex1,myindex2/_search -d '{
// your query here
}'
Это то, что вы ищете?
Вы можете сделать это несколько разных способов.
1) С запросом индексов на myindex1
и myindex2
с запросом терминов в поле title
.
curl -XPOST http://localhost:9200/_search -d '{
"query": {
"indices": {
"indices": [
"myindex1",
"myindex2"
],
"query": {
"terms": {
"title": [
"foo",
"bar"
]
}
}
}
}
}'
2) Указав индексы, которые вы хотите найти в URI (с тем же запросом точных терминов).
curl -XPOST http://localhost:9200/myindex1,myindex2/_search -d '{
"query": {
"terms": {
"title": [
"cookies",
"cake"
]
}
}
}'
И да, вы можете поменять запрос терминов для запроса match_all (или любого другого запроса здесь, действительно) в любом из двух примеров. Вот как вы бы выполнили запрос match_all во втором примере:
curl -XPOST http://localhost:9200/myindex1,myindex2/_search -d '{
"query": {
"match_all": {}
}
}'
Я рекомендую установить плагин с эластичной головкой. Третья вкладка на этом интерфейсе имеет построитель запросов. Вы можете выбрать индекс, построить запрос и посмотреть на запрос dsl, который он производит. Это быстрый способ ускорить выполнение синтаксиса запроса dsl.