1

假设我有长文本,我想搜索“Term1 Term2 Term3 Term4”

我想以轻松的方式展示类似的文件 -

  1. 其他术语可以合理地介于两者之间 - 带有“Term1 OtherTerm Term2 OtherTerm Term3”的文档是可以接受的

  2. 并非所有 4 个术语都应该出现 - 再次以合理的方式出现(3 个术语是可以的)

从我的实验看来,SOLR 只检索带有您正在搜索的 Exact(!) 文本的文档...

我尝试添加所有具有下限的参数:原始查询参数:mlt=true&mlt.fl=Text&mlt.boost=true&mlt.mindf=1&mlt.mintf=0&mlt.interestingTerms=Text

那么 - 是否有可能进行相似性工作而不仅仅是精确搜索工作?

4

1 回答 1

1

mlt 参数仅控制更像此操作的工作方式。MoreLikeThis 分两个阶段工作,首先它从查询中获取一组结果,然后再使用任何 MoreLikeThis 功能。然后它获取该查询的结果,并查找与它们相似的文档。通常,它通过从文档正文中选择它认为最相关和最有用的搜索词并对其进行搜索来做到这一点。因此,它们的 mlt 参数与您的初始查询的处理方式无关。通常,您希望初始 mlt 查询获得很少的结果,通常是单个文档。

听起来您根本不想使用短语查询,因此请丢失引号。

  • "Term1 Term2 Term3 Term4"= 短语查询,按顺序查找所有这些术语
  • Term1 Term2 Term3 Term4= 一系列单独的术语查询。在该字段的任何位置查找所有或任何术语。

有关更多信息,请参阅lucene 查询解析器语法文档

于 2014-12-15T10:43:04.950 回答