Elasticsearch / Lucene亮点
-
12-10-2019 - |
题
我正在使用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。
如果我执行以下类似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
添加这不应该发生。
现在出现了奇怪的行为:如果我仅通过这样做来搜索失败的元素之一:
{
"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吗?
不隶属于 StackOverflow