我的架构中有多个具有不同字段的集合,我想跨多个集合执行搜索,并对所有集合的结果执行默认排名。
示例 - 我有一个包含“mustang”一词的文档在集合 A 中出现了 3 次,在集合 B 中出现了 2 次,那么我希望结果首先显示集合 A 中的文档和集合中的文档B 作为第二个结果。
最佳答案
评分不仅仅考虑出现次数,因此默认情况下,它还取决于集合中包含该术语的文档数量。如果我们讨论的是单个术语,您可以按 tf 函数或类似的函数进行排序 - 对于更复杂的查询,使用集合宽术语频率可能是唯一的选择(但可能成本高昂) .
要创建一个查询两者的通用集合,use the CREATEALIAS集合 API 中的命令。 collections
参数采用逗号分隔的集合列表,该列表由别名表示,允许您通过别名 C 查询 A 和 B。
关于Solr查询多个集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52065860/