3
的情景:SOLR多值字段
我有以下的(簡化)數據庫表的場景:
ID ProductName ProductCategory Colour Price
----------------------------------------------------------
1 BatmanTShirt T-Shirt Black 22
2 BatmanTShirt T-Shirt Blue 20
3 SupermanTShirt T-Shirt Blue 19
4 SpidermanTrousers Trousers Red 28
5 SpidermanTrousers Trousers Black 30
我的願望:
在SOLR指數,我想這個數據將以規範化的方式進行映射,從而僅創建3個SOLR文檔(如下所示)而不是5個。
個<doc1>
<ID>1</ID>
<ProductName>BatmanTShirt</ProductName>
<ProductCategory>T-Shirt</ProductCategory>
<OtherDetails>{ {1, Black, 22}, {2, Blue, 20} }</OtherDetails>
</doc1>
<doc2>
<ID>3</ID>
<ProductName>SupermanTShirt</ProductName>
<ProductCategory>T-Shirt</ProductCategory>
<OtherDetails>{ {3, Blue, 19} }</OtherDetails>
</doc2>
<doc3>
<ID>4</ID>
<ProductName>SpidermanTrousers</ProductName>
<ProductCategory>Trousers</ProductCategory>
<OtherDetails>{ {4, Red, 28}, {5, black, 30} }</OtherDetails>
</doc3>
一些注意事項:
<ID>
將包含最小的ID從組<OtherDetails>
將包含一個唯一的ID加上被分組時留出了其他細節。這將是一個多值字段,數據類型爲List,包含另一個詳細信息列表{ID,Color,Price}。
問:
任何人都知道,這怎麼可能?
P.S.
做這種'分組'的原因是我想要在ProductCategory上面。如果我使用刻面的產品分類,目前所產生的計數將是:
T-Shirt (3)
Trousers (2)
我現在想的是對產品分類方面沒有顏色和價格等數據,我想只有2個T恤(之一蝙蝠俠和超人之一)和只有1個褲子(蜘蛛俠的)。所以我想表明的是:
T-Shirt (2)
Trousers (1)
我做了一些研究,發現這個功能(被稱爲後組刻面或矩陣計算)是目前WIP,如this SOLR patch指出。所以我想要一個臨時解決方法,因爲這可能需要一段時間才能完成。
謝謝O. Klein爲你解答。我已經成功下載了ToirtoiseSVN的代碼。目前我正在用ANT構建它,但是我想像你剛纔提到的那樣將它導入到Eclipse中,你能否告訴我一些關於如何導入和編譯它的細節?謝謝。 – mrd3650 2012-01-09 15:22:54