Solr 6.7学习笔记(07)-- More Like This

        Solr中提供了MoreLikeThis的功能,用于查询相似的文档 。应用场景(个人理解):1. 你写的文章和别人文章相似度高的话,有一方是抄袭的可能性就很大。2. 查找相似的产品。

        MoreLikeThis 可以作为searchComponent使用,也可以作为requestHandler使用。

        MoreLikeThis 的基础属性:

参数描述
mlt.fl指定用于判断是否相似的字段。如可能,尽量设置这些字段的 termVectors=true
mlt.mintf指定最小的分词频率。小于此频率的分词将不会被计算在内
mlt.mindf指定最小的文档频率。分词所在文档的个数小于此值的话将不会被忽略。
mlt.maxdf指定最大的文档频率。分词所在文档的个数大于此值的话将不会被忽略。比如“的”之类的词,几乎每个文档都有,此类分词不应用于相似度的计算
mlt.minwl指定分词的最小长度。小于此长度的单词将被忽略。
mlt.maxwl指定分词的最大长度。大于此长度的单词将被忽略。
mlt.maxqt指定最大的用于查询的分词数
mlt.maxntp对于termVectors=false的字段,需要分析的最大的token数。
mlt.boost是否开启字段加权功能
mlt.qf设置 mlt.fl中的各个字段的权重。

 

 

 

 

 

 

 

   

        MoreLikeThis 做为searchComponent 使用时的属性:

参数描述
mlt设置为true时,启用MoreLikeThis的功能
mlt.count默认值5. 设置返回的相似的文档数

 

 

 

        MoreLikeThis 做为requestHandler 使用时的属性:

参数描述
mlt.match.include设置是否返回符合的文档。醉了,如果不返回的话,我配置这个requestHandler干嘛?
mlt.match.offset 
mlt.interestingTerms控制如何呈现terms. 三个可选的值:none(不显示), list(列出terms), details(列出terms并加上权重信息)

 

 

 

例子:

<requestHandler name="/mlt" class="solr.MoreLikeThisHandler">
           <lst name="defaults">
           <str name="wt">json</str>
           <str name="fl">content,title</str>
            <str name="mlt.qf">
                content^2.0 title^1.0
            </str>
           <str name="mlt.fl">content,title</str>
           <str name="mlt.match.include">true</str>
           <str name="mlt.mintf">1</str>
           <str name="mlt.mindf">1</str>
           <str name="mlt.minwl">2</str>
           <int name="mlt.count">3</int>
       </lst>

  </requestHandler>

 

转载于:https://www.cnblogs.com/langfanyun/p/7490525.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值