是否有可能在Solr搜索查询中获取相关文档?

时间:2014-07-07 00:46:09

标签: solr

我使用以下查询字符串来获取Solr中索引的文档:

http://localhost:8080/solr/newsarchive/select/?q=ID:bbc-55950440dc8e5f1a550bd736214a1e7e&sort=Date%20desc&version=2.2&start=0&rows=10&indent=on&wt=json

返回ID为bbc-55950440dc8e5f1a550bd736214a1e7e的指定文档。

我的问题是:有没有办法让这个查询返回一些相关的文件ID?

1 个答案:

答案 0 :(得分:1)

在Solr中有一种方法可以做到这一点,它被称为更像这样:https://wiki.apache.org/solr/MoreLikeThis

您向Solr传递一个查询,而More More This处理程序将为您传入的查询返回的每个文档返回类似的文档。它通过查看您选择的字段中的术语并使用这些术语运行Lucene查询来确定相似性。

您选择的字段至少需要存储,最好将它们设置为存储术语向量:

<field name="cat" ... termVectors="true" />

示例查询(取自文档):

http://localhost:8983/solr/select?q=apache&mlt=true&mlt.fl=manu,cat

在这种情况下,您正在查询单词“apache”的索引并请求更像此结果集(mlt = true)。你要求Solr将相似的东西基于manu和cat字段。然后,Solr将查看这些字段中的条款,并使用这些字词搜索这些字段以查找类似的文档。

还有一些文章/例子:

http://blog.brattland.no/node/18

https://cwiki.apache.org/confluence/display/solr/MoreLikeThis