使用 _id 字段检索文档,该文档的一个字段包含 elasticsearch 中突出显示的单词

retrieve a document using _id field that its one field contains highlighted words in elsaticsearch

我想直接使用它的 _id 字段访问我的索引中的文档,我想突出显示 messageText 字段中的一个词,为此,我创建了下面的查询,但 highlight 属性没有出现在结果响应中。

{
    "query":{
        "term":{
            "_id": "1006382869737"
        }
    },
    "highlight" : {
        "tags_schema" : "styled",
        "fields" : {
            "messageText" : {
                "highlight_query":{
                    "term": {
                        "messageText":"car"
                    }
                }
            }
        }
    }
}

我确定 car 出现在 Id 1006382869737 文档的 messageText 字段中。所以我确定 highlights 必须存在于响应中,但事实并非如此。

如果这很重要,我使用的是 2.3.4 版的 elasticsearch。并根据此 documentation 创建了查询。我不确定此文档中的 rescore_query 是什么,如果它很重要请告诉我如何编辑我的查询,否则给我另一个建议。

tnx :)

Additional Information

我也试试下面的查询:

{
    "query":{
        "bool": {
            "must":[
                {
                    "term":{
                        "_id": "1006382869737"
                    }
                },
                {
                    "term": {
                        "messageText":"car"
                    }
                }
            ]
        }

    },
    "highlight" : {
        "fields" : {
            "messageText" : {}
        }
    }
}

但它不会导致文档命中。

我找到了解决方案: 我的数据来自我无法访问其代码的服务器。经过多次调试后,我发现在某些情况下,服务器会在另一个名为 caption 的字段中发送文本数据。 不幸的是服务器没有很好的文档,导致了这个问题。

最后我发现了问题并为 caption 字段添加了更多 highlight_query,现在工作正常。