[英]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.