2016-07-22 3 views
0

Мы настроили ElasticSearch для создания разных индексов на основе даты.PHP-Elasticsearch Поиск по всем индексам

health status index       pri rep docs.count docs.deleted store.size pri.store.size 
yellow open localbeta-logstash-2016.07.20 5 1  85636   0  27mb   27mb 
yellow open .kibana       1 1   2   0  9.6kb   9.6kb 
yellow open localbeta-logstash-2016.07.21 5 1  108346   0  37.7mb   37.7mb 
yellow open localbeta-logstash-2016.07.22 5 1  58172   0  22.1mb   22.1mb 
yellow open localbeta-logstash-2016.07.19 5 1  11535   0  3.6mb   3.6mb 

Теперь нам нужно сделать запрос для извлечения журналов по определенному полю из всех индексов.

От PHP-ElasticSearch, я понимаю, что запросить конкретный индекс легко.

Но как запросить сразу все индексы?

ответ

0

Вы должны запросить 'index' => '*'

* является подстановочным

0

Вы можете использовать _all или пустую строку для обозначения всех индексов: https://github.com/elastic/elasticsearch-php/blob/master/src/Elasticsearch/Client.php#L814

$ Params [» index '] = (список) Список имен индексов, разделенных запятыми, для поиска; используйте _all или пустую строку для выполнения операции по всем показателям

0

Поиск различных индексов работает так же, как поиск в одном индексе. Вам не нужно ничего менять в своем запросе. Вы можете использовать _all или как Vuldo, упомянутый «*», который является дикой карточкой в ​​качестве значения для вашего индекса, или просто оставить его пустым, и он будет искать все типы во всех индексах.

Вы можете посмотреть here для получения более подробной информации

Смежные вопросы