我正在使用 Solr 来处理我的文本搜索需求。现在在 f1 上启用了 MLT(更像这样)。f2 是我的日期字段。我想要 f1 上的 MLT 结果,但我只想要它们来自我的数据库的一个子集,即某个日期之后的结果(f2 上的范围查询)。如何自定义 MLT 以便可以在 f2(非 MLT 字段)上添加此范围查询?
我是 Solr 和 Java 的新手。任何基本的帮助都将不胜感激。谢谢。
根据https://wiki.apache.org/solr/MoreLikeThisHandler,MoreLikeThisHandler 支持 CommonQueryParameters。这意味着您应该能够在fq
搜索中添加(过滤查询)参数,并在 f2 介于某物和其他物之间进行过滤。例如:
fq=f2:["2011-03-21" TO "2012-03-21"]
这就是说,从 MLT 中找到所有结果,然后添加此过滤查询。