Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Solr Select和More Like This(MLT)搜索之间的区别_Solr - Fatal编程技术网

Solr Select和More Like This(MLT)搜索之间的区别

Solr Select和More Like This(MLT)搜索之间的区别,solr,Solr,我的应用程序在使用SOLR进行正常搜索(/select?q=)时运行良好 普通查询URL: /select?q=标题:可爱 现在我想在我的应用程序中实现更像这样的(MLT)。如下所示,在Solr中配置MLT solrconfig.xml 标题 1. 2. 真的 URL: /mlt?q=title:lovely&mlt.fl=title 我使用MLT获得的结果和计数与普通select查询相同。如果我对MLT做了任何错误的配置,你能指导我吗 提前感谢, AnilJayanti根据Solr Wik

我的应用程序在使用SOLR进行正常搜索(
/select?q=
)时运行良好

普通查询URL:
/select?q=标题:可爱

现在我想在我的应用程序中实现更像这样的(MLT)。如下所示,在Solr中配置MLT

solrconfig.xml

标题
1.
2.
真的
URL

/mlt?q=title:lovely&mlt.fl=title

我使用MLT获得的结果和计数与普通select查询相同。如果我对MLT做了任何错误的配置,你能指导我吗

提前感谢,

AnilJayanti

根据Solr Wiki上的文档,您需要在模式中为字段启用TermVector,或者必须存储字段


也可以考虑在上面的链接中描述的搜索处理器中使用MORILKEY组件。但这将取决于您计划如何在应用程序中使用/实现MLT功能。

我认为solrconfig.xml中的设置是正确的。正如Paige Cook在回答中提到的那样,如果将所使用的字段设置为在schema.xml中存储术语向量,
termVectors=true
,则会得到更好的结果。不能在事实发生后添加术语向量,因此必须重建索引才能将它们添加到中。您可以考虑将<代码> MLT.Cudio参数添加到您的请求中,以获得仅N个顶级结果。

我在获得良好的MLT结果方面的经验是,参数需要根据实验进行一些微调,特别是
MLT.mintf
。从低开始,慢慢增加,直到你开始得到“感觉正确”的结果。相似性是一个非常主观的东西,试图量化,将需要一些实验,以获得正确的设置

  <requestHandler name="/mlt" class="solr.MoreLikeThisHandler">
  <lst name="defaults">
            <str name="mlt.fl">title</str>
            <str name="mlt.mintf">1</str>
            <str name="mlt.mindf">2</str>
            <str name="mlt.boost">true</str> 
  </lst>
  </requestHandler>