2013-10-28 67 views
2

我是全新的solr,有問題必須繼續開發我們的新搜索引擎,因爲我的同事不在這裏了。solr分類與計數

我的問題: 我想要得到的刻面(分層)類別,有ITEMCOUNT。

例如

搜索 '銀河'

項目發現:123

顯示的分類:

Electronics (83) 
     Mobiles (60) 
     Tablets (23) 
     Smartphones (37) 
     ..... 
    Books (40) 
     .... 

....

我的類別字段(以SOLR)是每篇文章包含幾個類別樹,用英文逗號分隔。 如:

"categories_raw": "Electronics/Mobiles/Tablets,Books/MobilePhones" 

發送到我的Solr與項目計數下面的參數結果facet_fields的查詢,但只有從項目自身的子類別計數:

q=samsung&q.alt=samsung&...&facet=true&facet.field=categories_raw&facet.mincount=1 

結果(在產生結束JSON):

"facet_counts": { 
     "facet_queries": {}, 
     "facet_fields": { 
      "categories_raw": [ 
      "Electronics/Mobiles/Smartphones", 
      37, 
      "Books/MobilePhones", 
      20, 

....

哪有我在每個類別上都有一個計數,就像我上面的例子一樣?
是否有可能打破我的等級類別的字符串場「categories_raw」由Solr的?我錯過了什麼?

希望有人可以幫忙;)thx

回答

0

Solr計算你給它。嘗試使用多值字段並將要計數的值放在那裏。所以:

Electronics/Mobiles/Tablets 
Electronics/Mobiles 
Electronics 

然後,方面會給你每個人的數量。要創建這些內容,您可以在客戶端執行這些操作,也可以在創建條目時(編制索引之前)編寫自定義Update Request Processor來執行此操作。

Solr也從結構化路徑some support to extra hierarchical information

+0

謝謝。我認爲這將解決我的問題。在將文章推送到solr的導入腳本中,我只需要更改該類別部分即可,如上所示。 –

+0

我忘了另外Solr的方法可以幫助在這裏。我已經更新了原始回覆。畢竟,您可能不需要爲客戶完成所有繁重的工作。 –