我们已将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 :(得分:0)
您必须查询'index' => '*'
*是通配符
答案 1 :(得分:0)
您可以使用_all
或空字符串来引用所有索引:https://github.com/elastic/elasticsearch-php/blob/master/src/Elasticsearch/Client.php#L814
$ params ['index'] =(list)要搜索的以逗号分隔的索引名称列表;使用
_all
或空字符串对所有索引执行操作
答案 2 :(得分:0)
搜索不同的索引的工作方式与在单个索引中搜索的方式相同。您无需更改查询中的任何内容。您可以使用_all或类似的Vuldo提及' *'这是一个外卡作为索引的值或只是将其留空,它将搜索所有索引中的所有类型。
您可以查看here了解更多详情
答案 3 :(得分:0)
在Kibana中,您将在以下请求下搜索所有文档:
获取您的INDEX_NAME / _search
{
"query": {
"match_all": {}
}
}
与php相同,您创建了一个相同的请求正文,但语法不同,并且看起来像这样:
[
"query" => [
"match_all" => new \stdClass()
]
]