solr - Solr 中的术语向量

标签 solr lucene morelikethis

我正在尝试使用 MoreLikeThis Solr 的功能根据其他文档查找类似文档,但我不太明白其中一些功能是如何工作的。

正如上面所说的here ,当存储 termVectors 时,MoreLikeThis 组件效果最佳。我的困惑来了。

在 Solr 的 schema.xml 文件中的字段(假设该字段包含电影评论文本)上启用标志 termVectors 是否足够?它会让 Solr 在插入给定字段后计算 termVectors,存储它,然后在后续调用 MoreLikeThis 处理程序时使用计算出的 termVectors 吗?

最佳答案

简短的回答是否定的,您需要在这样的架构更改后重新索引。 启用术语向量将加快从原始输入文档中查找有趣术语的过程(如果该文档位于索引中)。 第二阶段计时(当发生更多类似查询时)将保持不变。 有关 MLT 如何工作的更多信息 [1]。

一般来说,当对模式应用此类更改时,您需要重新索引文档以使 Solr 构建相关的数据结构(术语向量是每个文档的迷你索引,并且需要将特定文件存储在磁盘上) [2] 注意:这将增加您的磁盘利用率)

[1] https://www.slideshare.net/AlessandroBenedetti/advanced-document-similarity-with-apache-lucene

[2] https://lucene.apache.org/core/6_6_0/core/org/apache/lucene/codecs/lucene50/Lucene50TermVectorsFormat.html

关于solr - Solr 中的术语向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46559532/

相关文章:

elasticsearch - 如何在elasticsearch中匹配包含连字符或尾随空格的查询项

lucene - 如何在 Elasticsearch 中始终推荐不同的文档(文件)

Solr MoreLikeThis 不适用于多个分片?

ruby-on-rails - Rspec中的solr拒绝了连接

Solr如何在太多原子更新后提高查询速度

mysql - 使用 Solr 索引包含 utf8 数据的 latin1 列

java - 如何正确使用 guava Closer

lucene - 使用Lucene实现XQuery全文搜索的提示

solr - 测量文档集之间的相似性

solr - 在 SOLR 中过滤和分面多值字段