Solr 中的术语向量
Term vectors in Solr
我正在尝试使用 MoreLikeThis Solr 的功能来查找基于其他文档的类似文档,但我不太了解其中一些功能的工作原理。
如其所说 here,MoreLikeThis 组件在存储 termVectors
时效果最佳。我的困惑来了。
我在 Solr 的 schema.xml 文件中的一个字段(假设该字段包含电影评论文本)上启用标志 termVectors
就足够了吗?它会让 Solr 在插入给定字段后计算 termVectors,存储它,然后在对 MoreLikeThis 处理程序的后续调用中使用计算出的 termVectors 吗?
简短的回答是否定的,您需要在这样的架构更改后重新编制索引。
启用术语向量后,将加快从原始输入文档(如果该文档在索引中)中查找有趣术语的过程。
第二阶段时间(当 More Like This 查询发生时)将保持不变。
有关 MLT 如何工作的更多信息 [1] .
一般来说,当对模式应用此类更改时,您需要重新索引文档以使 Solr 构建相关的数据结构(术语向量是每个文档的迷你索引,需要存储特定的文件在磁盘上[2]
N.B。这将增加您的磁盘利用率)
[1] https://www.slideshare.net/AlessandroBenedetti/advanced-document-similarity-with-apache-lucene
我正在尝试使用 MoreLikeThis Solr 的功能来查找基于其他文档的类似文档,但我不太了解其中一些功能的工作原理。
如其所说 here,MoreLikeThis 组件在存储 termVectors
时效果最佳。我的困惑来了。
我在 Solr 的 schema.xml 文件中的一个字段(假设该字段包含电影评论文本)上启用标志 termVectors
就足够了吗?它会让 Solr 在插入给定字段后计算 termVectors,存储它,然后在对 MoreLikeThis 处理程序的后续调用中使用计算出的 termVectors 吗?
简短的回答是否定的,您需要在这样的架构更改后重新编制索引。 启用术语向量后,将加快从原始输入文档(如果该文档在索引中)中查找有趣术语的过程。 第二阶段时间(当 More Like This 查询发生时)将保持不变。 有关 MLT 如何工作的更多信息 [1] .
一般来说,当对模式应用此类更改时,您需要重新索引文档以使 Solr 构建相关的数据结构(术语向量是每个文档的迷你索引,需要存储特定的文件在磁盘上[2] N.B。这将增加您的磁盘利用率)
[1] https://www.slideshare.net/AlessandroBenedetti/advanced-document-similarity-with-apache-lucene