首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Select (MLT)搜索的区别

Select (MLT)搜索的区别
EN

Stack Overflow用户
提问于 2012-10-05 04:26:05
回答 2查看 4K关注 0票数 2

我的应用程序在使用SOLR进行普通搜索(/select?q=)时工作得很好。

普通查询网址:/select?q=title:lovely

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

solrconfig.xml

代码语言:javascript
复制
  <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>

URL

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

我得到的结果和MLT计数和普通select查询一样。如果我做错了MLT的配置,你能指点我吗?

提前谢谢,

AnilJayanti

EN

回答 2

Stack Overflow用户

发布于 2012-10-05 22:35:26

在我看来,solrconfig.xml中的设置是正确的。正如Paige在他的回答中提到的,如果您使用的字段被设置为在termVectors=true中存储术语向量,那么效果会更好。术语向量不能在事实之后添加,因此您必须重新构建索引才能将它们添加进去。您可以考虑将mlt.count参数添加到请求中,以便只获得最上面的N个结果。

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

票数 2
EN

Stack Overflow用户

发布于 2012-10-05 17:14:59

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

此外,您可能需要考虑在MoreLikeThisComponent中使用SearchHandler,如上面的链接所述。但这将取决于您计划如何在应用程序中使用/实现MLT功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12739471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档