gpt4 book ai didi

elasticsearch - 多级嵌套查询 - RequestError 异常 400 - 创建查询失败

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

我正在使用 Elasticsearch 5.1.1。在执行嵌套查询时,它返回 400 错误

我的文档看起来像这样

{
"_index" : "test",
"_type" : "test_five",
"_source" : {
"doc" : {
"keyword_elas" : "elasticsearch",
}
},
"doc_as_upsert" : true }

这是我的查询代码

 {
"query": {
"nested": {
"path":"_source",
"query": {
"nested": {
"path": "_source.doc",
"query": {
"match": {
"_source.doc.keyword_elas": "elasticsearch"
}
}
}
}
}
}}

对于上面的查询我得到了一个异常

elasticsearch.exceptions.RequestError: TransportError(400, u'search_phase_execution_exception', u'failed to create query: {\n "nested" : {\n "query" : {\n "nested" : {\n

这是由于某些查询错误导致的异常吗?或任何版本问题...

谢谢

最佳答案

我不太清楚您为什么要在这种环境中使用嵌套查询。

如果我有这样的文档:

{
"_index" : "test",
"_type" : "test_five",
"_source" : {
"doc" : {
"keyword_elas" : "elasticsearch",
}
},
"doc_as_upsert" : true }

我的目标是匹配 keyword_elas 字段。我会做的就是:

GET test/test_five/_search
{
"query": {
"match" : {
"keyword_elas" : "elasticsearch"
}
}
}

精确匹配:

分析领域:

 GET test/test_five/_search
{
"query": {
"match" : {
"keyword_elas" : "elasticsearch",
"fuzziness": "0"

}
}
}

注意:如果您在 keyword_elas 中有包含 elasticsearch ABC 的文档,则此查询将起作用,因为它对第一个标记的模糊度为零(elasticsearch )。

对于未分析的字段(完全精确匹配)

GET test/test_five/_search
{
"query": {
"term" : { "keyword_elas" : "elasticsearch" }
}
}

如果你的索引中有两个文档

keyword_elas : elasticsearch

keyword_elas : elasticsearch abc

词条查询只会匹配第一个文档。

关于elasticsearch - 多级嵌套查询 - RequestError 异常 400 - 创建查询失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41399832/

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