我正在尝试使用 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 作为我的唯一标识符?
你拥有的东西看起来不错。MLT 只是使用查询来查找文档,如果找到,则将该文档用于源文档。是否确定返回的文档带有查询"doc_id:问题#11"。 将值放在引号中,看看是否可以取回文档,例如.doc_id:"question#11"。 doc_id的数据类型是什么?