我们正在评估Solr和Elasticsearch的用例。在Solr中,突出显示中使用的参数之一是hl.preserveMulti,以保留multiValued数据中值的顺序。在Solr中执行此操作,然后以原始顺序返回多值数据的所有值。如果使用此参数,则突出显示具有匹配的值,并且不突出显示不包含匹配的值。
在elasticsearch中,突出显示,只有包含突出显示的片段的值会在_highlight中返回,而我无法从_highlight
请帮我解决这个问题。
答案 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进行测试。