我有多个应用程序实例。每个应用程序都指向其自己的Solr以进行文档索引。
我正在进行统一搜索,在该搜索中,用户点击了搜索栏中的查询,并且应根据相关性对所有实例中的相关文档进行排名。
现在,我已经实现了一种基于Round Robin时尚的解决方案。
例如,我有2个实例, Ins-1 和 solr-1 和 Ins-2 和 solr-2 。 Ins-1有1K文档,Ins-2有5K文档。当我遇到任何查询时,该查询将从solr-1中获取X份文档,并从solr-2中获取X份文档。 我正在以循环方式显示那些2X文档。但这不是显示搜索结果的最佳方法。 我正在寻找一种解决方案,可以根据与搜索的相关性来重新排序那些2X文档。
答案 0 :(得分:0)
我认为您应该将两个实例合并为一个实例。您可以将数据从一个实例导入到另一个实例。 Solr Admin UI具有“数据导入”标签,用于将数据从一个集合导入到另一个集合。
答案 1 :(得分:0)
这里doc1和doc2是solr的两个独立响应,您可以在JAVA中完成
SolrDocumentList appendResponse(SolrDocumentList doc1,SolrDocumentList doc2) {
SolrDocumentList documentsList=new SolrDocumentList();
for (SolrDocument solrDocument:doc1)
{
documentsList.add(solrDocument);
}
for (SolrDocument solrDocument:doc2)
{
documentsList.add(solrDocument);
}
return documentsList;
}