gpt4 book ai didi

ElasticSearch 在多索引、多类型搜索时返回 404

转载 作者:行者123 更新时间:2023-12-02 22:57:53 24 4
gpt4 key购买 nike

我们有一个需求,我们需要查询多个索引,如下所示
我们正在使用 ElasticSearch 5.1.1。
http://localhost:9200/index1,index2,index3/type1,type2/_search
查询:

{
"query": {
"multi_match": {
"query": "data",
"fields": ["status"]
}
}
}

但是我们可能事先不知道该索引是否存在,如果上述任一索引不存在,我们将出现以下错误。

{
"error": {
"root_cause": [
{
"type": "index_not_found_exception",
"reason": "no such index",
"resource.type": "index_or_alias",
"resource.id": "index3",
"index_uuid": "_na_",
"index": "index3"
}
],
"type": "index_not_found_exception",
"reason": "no such index",
"resource.type": "index_or_alias",
"resource.id": "index3",
"index_uuid": "_na_",
"index": "index3"
},
"status": 404
}

一个明显的方法是检查索引是否已经存在,但我想避免额外的调用。
注意:至少有 1 个索引将始终存在
是否可以避免此异常?
提前致谢 !!

最佳答案

“ignore_unavailable”是解决这个问题的方法。将此作为搜索 url 中的查询参数传递。例如。 http://localhost:9200/index1,index2/type/_search?ignore_unavailable

即使两个索引都不存在,也不会返回 404

关于ElasticSearch 在多索引、多类型搜索时返回 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45461096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com