无法使Elasticsearch突出显示工作

时间:2016-07-17 01:39:49

标签: elasticsearch

我正在开发一个涉及Elasticsearch的项目。到目前为止,我可以获得大多数功能,除了突出显示。我正在使用Laravel + Elasticsearch官方PHP客户端。

以前我认为这是我的PHP代码的问题,并在这里问了一个问题: highlight field missing from Elasticsearch results, PHP

后来当我在浏览器中尝试使用elasticsearch-head时,我仍然无法在结果中看到突出显示字段,所以我猜我的弹性搜索设置或索引文档的方式一定有问题。

这是我在elasticsearch-head中输入的查询:

{
"query" : {
    "match" : {
        "combined" : "DNA"
    }
},
"highlight": {
    "fields" : {
        "combined" : {}
    }
}
}

我没有看到"突出显示"在" _source"在弹性搜索返回的命中。

我在这里做错了什么?

请指教,

感谢。

更新:我在Ubuntu 16.04 LTS桌面上运行Elasticsearch 2.3.3,JDK 1.8。

Documentation说" store"在映射中需要设置为true。我这样做了,并重新索引了一堆文件。这并没有解决问题。

1 个答案:

答案 0 :(得分:0)

好的,在停止并重新启动elasticsearch服务后,我的代码开始按预期工作。我得到了#34;突出显示"结果中的字段。

问题是我需要设置"存储"为真。其他条件相同,包括以下行

"store"   =>   true

确保映射"突出显示"出现在我的结果中。反之亦然。

不确定为什么早点这样做并没有解决我的问题。