我使用以下查询字符串来获取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?
答案 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