我在我的數據庫中有一個產品表,以及一個包含此產品功能的表。特徵表有3列:id,類型和值。 Id是產品的外鍵。 我的桌子上的數據示例: 桌子產品:如何在Solr中索引像列一樣的行
ID |說明|
01計算機A
02汽車
03計算機B
表特點:
ID |類型|值|
01處理器的Phenom X3
01內存2GB
01 HDD 500GB
02顏色藍色
02馬克·福特
03處理器的Phenom X3
03內存3GB
我要編制索引的最佳方式,所以,一個例如,當有人爲「計算機」搜索,所述刻面所示:
的Phenom X3(2)
內存2GB(1)
3GB內存(1)
HDD 500GB(1)
等等,查詢字符串相關。如果我用字符串「處理器」進行查詢,只有當這個產品(描述中的「處理器」)具有像處理器:Phenom X3這樣的功能時,它纔會列出Phenom X3(1)。有很多產品類型,所以我們不能爲所有功能創建靜態列並將它傳遞給Solr ... 我希望我的問題很清楚,在此先感謝!
太棒了,它幫了很多。我已經用templatetransformer完成了concat,但似乎type_value字段下的數據索引錯誤。我得到了「amd Phenom X 3 intel I 5」(全部剝離)而不是像「Amd:Phenomx3 intel:i5」。另外,還有一種方法可以檢查Solr什麼是索引,就像在DB上查詢一樣,當返回行時? –
好吧,經過一番研究,我找到了答案:使用tokenizer類solr.KeywordTokenizerFactory。這使得concat很好用(solr.WhitespaceTokenizerFactory分割每個空白)。 另外,我正在使用Luke來查看索引的內容。我認爲還有另一種方式可以做到這一點,但我對他的所作所爲感到滿意。謝謝! –