首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得MoreLikeThis结果

如何获得MoreLikeThis结果
EN

Stack Overflow用户
提问于 2015-03-09 11:33:42
回答 1查看 5.8K关注 0票数 4

我正在努力理解Solr MorelIkeThis是如何工作的。我做过的步骤-

  1. 在schema.xml里我写过-

字段name="path_exact“type=字符串”indexed=“真”stored=“真”termVectors=“真”/>“

字段name=标题“type="text_general”indexed=“真”stored=“真”multiValued=“真”termVectors=“真”/>“

  1. 提到的uniqueKeypath_exact
  2. 使用以下命令在solr中创建索引- {"path_exact":"id1","title":"x1"} {"path_exact":"id2","title":"x12"}
  3. 现在,当我试图点击下面的url时,它会返回结果,但我无法理解它到底意味着什么?id1和id2找不到这个项目吗?如果,是的,那我在这里错过了什么? &mlt=true&mlt.fl=title&wt=xml

结果-

代码语言:javascript
复制
 <lst name="moreLikeThis">
     <result name="id1" numFound="0" start="0"/>
    <result name="id2" numFound="0" start="0"/>

谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

发布于 2015-03-25 05:07:16

我有点不明白您到底做了什么,但是如果您想要设置MLT,可以向核心目录中的solrconfig.xml添加一个请求处理程序(我假设Solr4.0和更高版本)。因此,一些类似于:

代码语言:javascript
复制
    <!-- More Like This -->
<requestHandler name="/mlt" class="solr.MoreLikeThisHandler">
    <lst name="defaults">
        <!--similar documents defaults-->
        <!--The fields to use for similarity-->
           <str name="mlt.fl">article_title, abstract_text</str>
        <!--Minimum Term Frequency - the frequency below which terms will be ignored in the source doc.-->
           <str name="mlt.mintf">2</str>
        <!--Minimum Document Frequency - the frequency at which words will be ignored which do not occur in at least this many docs.-->
           <str name="mlt.mintf">5</str>
        <!--Minimum word length below which words will be ignored.-->
           <str name="mlt.mintf">0</str>
        <!--Maximum word length above which words will be ignored.-->
           <str name="mlt.mintf">0</str>
        <!--Minimum number of query terms that will be included in any generated query.-->
           <str name="mlt.mintf">25</str>
        <!--Maximum number of query terms that will be included in any generated query.-->
           <str name="mlt.mintf">25</str>
    </lst>
</requestHandler>

然后对Solr执行一个正常的HTTP请求:

代码语言:javascript
复制
http://localhost:8983/solr/mlt?q="myquery"

或者在向“&mlt=true?”发送请求时设置“/select”标志?请求处理程序,例如solr提供的示例:

代码语言:javascript
复制
http://localhost:8983/solr/select?q=apache&mlt=true&mlt.fl=manu,cat&mlt.mindf=1&mlt.mintf=1&fl=id,score
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28940996

复制
相关文章

相似问题

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