我正在使用solr搜索“更像这样”的内容。mlt应该操作的字段通常有一个句子的长度。所以我实际上是在搜索mlt语句。
我已经在solrconfig.xml中配置了一个mlt请求处理程序
<requestHandler name="/mlt" class="solr.MoreLikeThisHandler">
<str name="mlt.fl">content</str>
<str name="mlt.mintf">0</str>
<str name="mlt.mindf">0</str>
</requestHandler>
对应的schema.xml
<schema name="MyAppSchema" version="1.6">
<field name="content" type="text_mlt" indexed="true" stored="true" required="true" />
<fieldType name="text_mlt" class="solr.TextField" termVectors="true" >
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
</schema>
当我现在对这个mlt requesthandler执行请求时,我会得到结果,但没有匹配的分数。使用请求处理程序时是否也可以返回分数?
文档中的一个示例显示了mlt的分数,但仅在使用searchhandler时显示。
暂无答案!
目前还没有任何答案,快来回答吧!