【问题标题】:Solr MoreLikeThis boosting query fieldsSolr MoreLikeThis 提升查询字段
【发布时间】:2014-01-05 21:22:48
【问题描述】:

我正在试验 Solr 的 MoreLikeThis 功能。

我的架构处理文章,我正在寻找三个领域内文章之间的相似之处: 文章标题、文章文本和主题。

以下查询运行良好:

q=id:(2e2ec74c-7c26-49c9-b359-31a11ea50453)
&rows=100000000&mlt=true
&mlt.fl=articletext,articletitle,topic&mlt.boost=true&mlt.mindf=1&mlt.mintf=1

但我想尝试提升不同的查询字段 - 例如,更加重视文章标题中的相似性。

文档 (http://wiki.apache.org/solr/MoreLikeThis) 建议这可以通过包含 mlt.qf 属性和一些提升来实现。

我对此类查询的尝试如下:

q=id:(2e2ec74c-7c26-49c9-b359-31a11ea50453)&rows=100000000&mlt=true
&mlt.fl=articletext,articletitle,topic&mlt.boost=true
&mlt.mindf=1&mlt.mintf=1
&mlt.qf=articletext^0.1 articletitle^100 topic^0.1

但是,提升似乎没有任何影响 - 无论我提供什么提升,建议都保持不变(除了上述查询,我​​会大力支持标题中的相似性,但这似乎并没有发生)

我在文档中找不到任何以这种方式使用 MoreLikeThis 的示例,这让我相信我有问题。

有没有人设法实现这样的目标?

【问题讨论】:

  • 我也刚开始遇到这个问题。您也可以将 mlt.interestingTerms=details 参数放在那里,以查看它根据原始文档选择的术语,并且无论我在 mlt.fl 参数中输入什么(或我输入什么字段),它们似乎都没有改变省略)。

标签: solr lucene solrnet recommendation-engine morelikethis


【解决方案1】:

如果您有简单的推荐要求,而您只有一个或多个同等重要的字段要匹配,则 MLT 组件非常有用。但是任何时候你想改变不同字段的相对重要性,或者需要做一些更具体的事情,比如包括反距离提升,那么你可能想要编写自己的伪 MLT 处理程序。 MLT 处理程序所做的只是根据源文档中的 tf.idf 分数从指定的字段中生成最热门的术语。您可以在生成自定义 SOLR OR 查询的某些代码中轻松模拟该功能。您将失去 termvectors 的优势,但只要您的查询大小合理(比如

【讨论】:

    【解决方案2】:

    即使我在我的情况下面临同样的问题,我也必须在两个字段 1)描述和 2)columnValue 中使用更多类似的方法来查找文档之间的相似性,其中 columnValue 在最终得分中的权重高于描述。由于 solr 仅支持字符串类型相似性匹配并且不支持 double 类型,因此我已将 columnValue 字段转换为字符串类型。(即 double 值现在是字符串类型,例如:231.0 现在是“231.0”)。 这是架构:

    enter image description here 架构.xml

    以及我正在使用的查询

    http://hostname:8983/solr/collection3/mlt?q= &wt=xml&indent=true&mlt=true&mlt.fl=description,columnValue &fq=versionId:1068383519&mlt.count=4000&mlt.mindf=1&mlt.mintf=1 &fl=tableId,tableIndex,score,versionId,columnId,description,columnValue, refVersionId &mlt.qf=description^0.4+columnValue^0.6

    这里的“id”是 refVersionId,VersionId,TableId,TableIndex,ColumnId 上的复合键

    但问题是 columnValue 提升无效,即使我从 mlt.fl 和 mlt.qf 中删除 columnValue,我也没有发现响应有任何变化,columnValue 没有参与相似性匹配。根据我的说法,mlt 仅适用于单个字段,即描述。你有任何建议或任何解决方案来解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-05
      • 2011-11-28
      • 2014-04-18
      • 1970-01-01
      相关资源
      最近更新 更多