zoukankan      html  css  js  c++  java
  • solr特点五: MoreLikeThis(查找相似页面)

    在 Google 上尝试一个查询,您会注意到每一个结果都包含一个 “相似页面” 链接,单击该链接,就会发布另一个搜索请求,查找出与起初结果类似的文档。Solr 使用MoreLikeThisComponent(MLT)和 MoreLikeThisHandler实现了一样的功能。如上所述,MLT 是与标准 SolrRequestHandler集成在一起的;MoreLikeThisHandler与 MLT 结合在一起,并添加了一些其他选项,但它要求发布一个单一的请求。我将着重讲述 MLT,因为使用它的可能性更大一些。幸运的是,不需要任何设置就可以查询它,所以您现在就可以开始查询。

    您可以向请求添加很多 HTTP 查询参数,并且大部分参数都有智能的默认值,因此我将着重讲述使用 MLT 必须了解的参数。(要了解更多的详细信息,请参见 参考资料获得 Solr wiki 的 MLT 页面链接)。

    表 2. MoreLikeThisComponent参数
    参数说明值域
    mlt 在查询时,打开 / 关闭 MoreLikeThisComponent的布尔值。 真 | 假
    mlt.count 可选。每一个结果要检索的相似文档数。 > 0
    mlt.fl 用于创建 MLT 查询的字段。 模式中任何被储存的或含有检索词向量的字段。
    mlt.maxqt 可选。查询词语的最大数量。由于长文档可能会有很多关键词语,这样 MLT 查询可能会很大,从而导致反应缓慢或可怕的 TooManyClausesException,该参数只保留最关键的词语。 > 0

    尝试下面的样例查询,然后检查返回结果中的 moreLikeThis部分:

    http://localhost:8983/solr/rss/select/?q=*%3A*&start=0&rows=10&mlt=true 
      &mlt.fl=description&mlt.count=3
    http://localhost:8983/solr/rss/select/?q=solr&version=2.2&start=0&rows=10 
      &indent=on&mlt=true&mlt.fl=description&mlt.fl=title&mlt.count=3

    MoreLikeThisComponent和 Solr 模式

    MLT 要求字段被储存或使用 检索词向量,检索词向量以一种以文档为中心的方式储存信息。MLT 通过文档的内容来计算文档中关键词语,然后使用原始查询词语和这些新词语创建一个新的查询。提交新查询就会返回其他查询结果。所有这些都可以用检索词向量来完成:只需将termVectors="true"添加到 schema.xml 中的<field>声明。

  • 相关阅读:
    软件测试-三角形问题
    软件测试经典问题——佣金问题
    Ubuntu下ssh免password登录安装
    elasticsearch的javaAPI之query
    非递归实现树的遍历
    递归输出字符串 经典中的经典
    对二维数据进行边界拓展
    【Bootstrap3.0建站笔记一】表单元素排版
    java模拟实现生产者---消费者问题
    Codeforces Round #271 (Div. 2)
  • 原文地址:https://www.cnblogs.com/lvfeilong/p/12323sdfdfds.html
Copyright © 2011-2022 走看看