我正在使用ElasticSearch索引文档。
我的映射是:
"mongodocid": { "boost": 1.0, "store": "yes", "type": "string" }, "fulltext": { "boost": 1.0, "index": "analyzed", "store": "yes", "type": "string", "term_vector": "with_positions_offsets" }
为了突出显示全文,我将其设置number_of_framgments为0。
number_of_framgments
如果我执行以下类似于Lucene的字符串查询:
{ "highlight": { "pre_tags": "<b>", "fields": { "fulltext": { "number_of_fragments": 0 } }, "post_tags": "</b>" }, "query": { "query_string": { "query": "fulltext:test" } }, "size": 100 }
对于结果集中的某些文档,突出显示的全文的长度小于全文本身的长度。由于我将值设置number_of_fragments为0和pre_tags/ post_tags,所以不会发生这种情况。
number_of_fragments
pre_tags
post_tags
现在出现奇怪的行为:如果我仅通过执行以下操作搜索失败的元素之一:
{ "highlight": { "pre_tags": "<b>", "fields": { "fulltext": { "number_of_fragments": 0 } }, "post_tags": "</b>" }, "query": { "query_string": { "query": "fulltext:test AND mongodocid:4d0a861c2ebef6032c00b1ec" } }, "size": 100 }
然后一切正常。
有任何想法吗?
听起来像在0.14.0中已解决的问题(请参阅#479)。在编写0.14.0时尚未发布,您可以尝试使用master吗?