Elasticsearch-EdgeNgram +高亮+ term_vector =错误高亮

Elasticsearch-EdgeNgram +高亮+ term_vector =错误高亮,第1张

Elasticsearch-EdgeNgram +高亮+ term_vector =错误高亮

当您

term_vector=with_positions_offsets
为特定字段设置时,这意味着您将为该字段存储每个文档的术语向量

在突出显示时,术语向量允许您使用Lucene快速向量突出显示工具,它比标准突出显示工具快。原因是标准荧光笔没有任何快速的方法来突出显示,因为索引没有包含足够的信息(位置和偏移量)。它只能重新分析字段内容,截取偏移量和位置并根据该信息进行突出显示。这可能需要一段时间,尤其是对于长文本字段。

使用术语向量,您确实有足够的信息,不需要重新分析文本。不利之处是该指数的规模将显着增加。我必须补充一点,因为Lucene
4.2术语向量可以更好地压缩并以优化的方式存储。此外,还有新的PostingsHighlighter,它基于将偏移量存储在发布列表中的功能,该功能甚至需要更少的空间。

elasticsearch根据可用信息自动使用最佳方式进行突出显示。如果存储术语向量,它将使用快速向量荧光笔,否则使用标准荧光笔。在没有术语向量的情况下重新索引后,将使用标准荧光笔突出显示。它将较慢,但索引将较小。

关于ngram字段,所描述的行为很奇怪,因为快速矢量荧光笔应该对ngram字段有更好的支持,因此我希望得到完全相反的结果。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4988377.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存