[英]How to count the query result on multiple solr cores at once
使用solr的多核功能,我们在一个solr实例中实现了多个核心,每个核心具有一些特定的信息,例如一个核心存储了酒店的详细信息以及城市,而另一个核心存储了发生在城市中的事件的详细信息,而第三个核心则存储了有关餐厅信息城市。 还有其他参数,因此我们创建了单独的核心。
我的应用程序通过关键字进行搜索,我希望将列表显示为:
然后用户可以深入了解他感兴趣的事物。
我们如何通过查询所有核心并以每个核心的找到的记录数(numFound)来获取结果。
Solr.xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<solr sharedLib="lib" persistent="true">
<cores adminPath="/admin/cores" hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
<core default="true" instanceDir="hotelDetails" name="hotelDetails"/>
<core default="false" instanceDir="Events" name="Events"/>
<core default="false" instanceDir="Restaurants" name="Restaurants"/>
</cores>
</solr>
您需要使用Solr的Faceted搜索机制。 该链接将指导您进行多方面的搜索。
可能有很多方法可以实现您所需要的。 这是我的解决方案
对于分布式搜索,请添加
/ select?collection = hotel详细信息,活动,餐厅
对于刻面
facet = true&facet.field = type
检查以下查询。 我希望两个查询都可以。
http://'localhost':8983 / solr / hotelDetails / select?shards = localhost:8983 / solr / hotelDetails,localhost:8983 / solr / Events,localhost:8983 / solr / Restaurants&q = some_query
和
http://'localhost':8983 / solr / hotelDetails / select?collection = hotelDetails,Events,Restaurants&q = some_query
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.