弹性搜索突出显示问题

时间:2016-03-14 07:08:01

标签: elasticsearch

我们正在评估Solr和Elasticsearch的用例。在Solr中,突出显示中使用的参数之一是hl.preserveMulti,以保留multiValued数据中值的顺序。在Solr中执行此操作,然后以原始顺序返回多值数据的所有值。如果使用此参数,则突出显示具有匹配的值,并且不突出显示不包含匹配的值。

在elasticsearch中,突出显示,只有包含突出显示的片段的值会在_highlight中返回,而我无法从_highlight

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

使用Elasticsearch 2.2,您可以使用突出显示查询设置返回一个具有字段大小的片段。它将返回所有具有突出显示值的字段值。

查询可能如下所示:

curl -XPOST 'es_address/index1/_search?pretty' -d '
{
  "fields": [],
  "query": {
    "match": {
      "field1": "foo"
    }
  },
  "highlight": {
    "fields": {
      "field1": {
        "fragment_size": 10000, // Insert your own value here
        "number_of_fragments": 1
      }
    }
  }
}'

我没有使用其他版本的Elasticsearch进行测试。