Solr查询多个集合

标签 solr lucene ranking

我的架构中有多个具有不同字段的集合,我想跨多个集合执行搜索,并对所有集合的结果执行默认排名。

示例 - 我有一个包含“mustang”一词的文档在集合 A 中出现了 3 次,在集合 B 中出现了 2 次,那么我希望结果首先显示集合 A 中的文档和集合中的文档B 作为第二个结果。

最佳答案

评分不仅仅考虑出现次数,因此默认情况下,它还取决于集合中包含该术语的文档数量。如果我们讨论的是单个术语,您可以按 tf 函数或类似的函数进行排序 - 对于更复杂的查询,使用集合宽术语频率可能是唯一的选择(但可能成本高昂) .

要创建一个查询两者的通用集合,use the CREATEALIAS集合 API 中的命令。 collections 参数采用逗号分隔的集合列表,该列表由别名表示,允许您通过别名 C 查询 A 和 B。

关于Solr查询多个集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52065860/

相关文章:

solr - 为什么在为 Sitecore 7 重新索引我的 Solr 搜索索引时会收到 "unable to write data to the transport connection"错误?

java - 在 ElasticSearch 上使用 Lucene 进行搜索

php - 以有效的方式计算行排名

mysql - 如何使用 MySQL 存储过程计算排名?

具有排序结果的 MySQL 用户排名

java - 使用 SolrJ 时,我可以将它指向请求处理程序吗?

java - 如何在 Apache Solr 中扁平化对象并应用于字段类型

solr - 将 solr 从 5.2 升级到 8.2 时收到有关分词器版本的警告消息

java - 为什么 .doc 文件可以通过 Lucene 建立索引,而 .docx 文件无法建立索引?

Lucene.NET:Camel case 分词器?