您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

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

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

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

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

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

其他 2022/1/1 18:15:39 有363人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶