我正在尝试查询solr服务器,以便为术语列表获取最相关的结果。
例如,我有“诺基亚”,“iphone”,“充电器”等字样的列表
我的架构包含以下数据:
诺基亚
iphone
诺基亚iphone其他词
诺基亚白色
iphone白色
如果我运行q = nokia或iphone OR充电器之类的简单查询,我会将“nokia iphone otherwords”视为最相关的结果(因为它包含更多查询字词)
我想将“nokia”或“iphone”或“iphone white”作为第一个结果,因为对于每个单独的术语,它们将是最相关的。
为了获得正确的列表,我会对每个术语进行查询,然后汇总结果并根据最高分数对它们进行排序。
我可以在一个请求中进行此查询吗?
答案 0 :(得分:1)
我认为你应该看看“coord”。来自SolrRelevancyFAQ:
coord is the coordination factor - if there are multiple terms in a query, the more terms that match, the higher the score
您可以编写自己的Similarity子类来忽略坐标,或者只在评分时获取最高值。
可能还有其他方法,您可以在solr-users邮件列表中提问。
答案 1 :(得分:0)
好像你应该对我执行3次单独的搜索