0

我正在尝试使用 MLT,但我有唯一标识符 doc_id 而不是 id 如果我这样做:

http://localhost:8983/solr/mlt/?q=doc_id:question#11我没有结果

如果我这样做 http://localhost:8983/solr/mlt/?q=id:11我有结果

<requestHandler name="/mlt" class="solr.MoreLikeThisHandler">
  <lst name="defaults">
     <str name="mlt.fl">title,text</str>
     <str name="mlt.mintf">1</str>
     <str name="mlt.mindf">2</str>
     <str name="mlt.minwl">2</str>
     <str name="mlt.boost">true</str>
     <int name="rows">5</int>
     <str name="fl">id,doc_id,title,content_type,user_id,topic_id,score</str>
  </lst>
</requestHandler>

如何使用 MLT 和 doc_id 作为我的唯一标识符?

4

1 回答 1

0

你所拥有的看起来不错。MLT 仅使用查询来查找文档,如果找到,则将该文档用于源文档。您确定返回的是带有查询“doc_id:question#11”的文档。将值放在引号中,看看是否可以让您恢复文档,例如。doc_id:“问题#11”。doc_id 的数据类型是什么?

于 2012-06-28T16:03:17.457 回答