2011-10-10 83 views
6

我有一個關於在solr中創建嵌套字段的可能性的問題。谷歌搜索告訴我一些關於小組的事情,但我認爲它只是爲了結果?SOLR中的嵌套字段

我想要有就是這樣的結構:

  • 組別
    • 項目1(9)
    • 項目2(8)
  • 類別2
    • 第3項(6)
  • 類別3
    • 項目4(23)

我想是這樣的:

<field name="Category" type="string" indexed="true" stored="true" multiValued="true" required="false"> 
<field name="MiscellaneousName" type="string" indexed="true" stored="true" multiValued="true" required="false"/> 

但它不工作。

更新: 類別和項目應分面。 Everey項目(=方面)是類別的一部分。一個類別可以有多個或空字段。類別和項目存儲在數據庫中,我想動態地爲它們編制索引。我只想搜索項目,類別只是文本。我在Tomcat 7上使用solr 3.3。

+0

您使用哪種Solr?如果4.0,它看起來像你正在尋找[數據透視面](http://wiki.apache.org/solr/SimpleFacetParameters#Pivot_.28ie_Decision_Tree.29_Faceting)。如果是這樣,這是一個很好的[介紹文章](http://solr.pl/en/2010/10/25/hierarchical-faceting-pivot-facets-in-trunk/)。 –

回答

6

感謝您的更新。Pivot facets允許你做類似:

  • 組別(17)
    • 項目1(9)
    • 項目2(8)
  • 類別2(6)
    • item 3(6)
  • 類別3(23)
    • 項目4(23)

..但他們只在Solr的4.0(主幹)可用。然而,你可以用較低的Solr(低至1.4)模擬這些結果,儘管它有點複雜,需要兩次Solr查詢而不是一次。我寫了一篇博客文章 - Pivot Faceting (Decision Trees) in Solr 1.4

您可以保留原始問題中的模式 - 透視模板(真實或模擬)適用於任意不同(或相同)的字段。

+0

感謝您的回答!它看起來像我需要的東西!你認爲solr 4.0可以使用嗎?哪裏可以買到? – HW90

+0

「Solr 4.0」真的意味着當前的Solr主幹,你必須獨自研究它,看它在你將要使用的區域是否穩定 - 發行版中有很多新的東西在「完成」。在工作中,我們運行1.4.1,並且它堅如磐石,但我們還沒有實現飛躍。如果您不確定,最好的方法是使用stable(Solr 3.4),並使用我在博客文章中概述的雙查詢技術 - 它不如4.0中的真正數據透視圖那麼簡單,但兩者會讓你找到你尋找的方面的樹... –

1

透視面是您需要定義層次結構面。
但是,您需要使用主幹構建才能使其工作。

如果你有問題升級,您可以查看選項@http://www.lucidimagination.com/why-lucid/webinars/mastering-power-faceted-search

這是一種變通方法,需要你來操作你喂的數據。

Cattegory1 -> item 1 
0//Cattegory1 and 1//Cattegory1//item1 

它與組合 - 採用FQ =類別
篩選結果:「0 // Cattegory1」
facet.prefix這將幫助你限制面視的水平,如果您需要以限制結果

http://wiki.apache.org/solr/HierarchicalFaceting,可能會有用。

+0

感謝您的回答,我更新了我的問題。但是如何讓Cattegory成爲該項目的一部分?如果這是可能的,我可以將它們在客戶端網站上分組... – HW90

+0

編輯答案。 – Jayendra

0

您能否僅將該類別設爲該項目的一個字段,以便例如當你搜索類別1項目1和2時,返回結果?

如果您有兩個字段必須是實體的一部分並且必須彼此關聯,則多字段可能會有所幫助。它們被設計用於具有x和y值的點。

我認爲我們需要更多地瞭解您正在嘗試如何處理Solr中的好方法。

+0

感謝您的回答,我更新了我的問題。我不會搜索這些物品,只是爲了物品。但是如何製作物品的分類部分? – HW90

+0

製作添加項目的實體,並將項目中的一個字段設置爲「類別」。用類別填寫。 對不起,試圖添加一個例子,但有一個可怕的格式化時間。 編輯:更新後,我認爲這不是你所需要的。祝你好運,找到你真正的答案! – tedders