是否有可能在所有可用索引中搜索特定的文档ID。 /_all/_search/
返回所有文档,但我以/_all/_search/?q=<MYID>
的身份尝试过,或者
/_all/_search/_id/<MYID>
但是我没有任何文件。
如果Elasticsearch不支持此任务,我们将如何完成此任务?该用例是基于Logstash和Elasticsearch的集中式日志系统,具有多个不同运行服务的索引。
答案 0 :(得分:2)
您可以使用terms
查询。使用_all
搜索所有索引。请参考here
这是我使用的请求
curl -XGET "http://localhost:9200/_all/_search" -H 'Content-Type: application/json' -d'
{
"query": {
"terms": {
"_id": [
"4ea288f192e2c8b6deb3cee00d7b873b",
"dcc2b9c4fb6d14b2d41dbc5fee801af3"
]
}
}
}'
_id
是文档的ID
答案 1 :(得分:0)
您可以使用multi get API 您将需要传递索引名称,它不适用于所有索引
GET /_mget
{
"docs" : [
{
"_index" : "index1",
"_id" : "1"
},
{
"_index" : "index2",
"_id" : "1"
}
]
}