使用_id字段检索文档,其中一个字段包含elsaticsearch

时间:2016-08-01 13:34:19

标签: elasticsearch highlighting

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

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

我确信在car字段中messageText发生了1006382869737个文件{1}}。所以我肯定highlights必须存在回应,但事实并非如此。

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

tnx:)

  

其他信息

我也尝试以下查询:

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

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

但它不会导致文档命中。

1 个答案:

答案 0 :(得分:0)

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

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