2013-06-18 123 views
0

我想要從1:n db關係導入數據,即Cars和CarParts表。
由於我不想寫一個連接在表
(車號和名稱將在查詢中相乘,因此將在查詢中得分較高)
我正在尋找推薦的方式來表示在dataconfig和schema xml文件中1:n連接。solr - 定義1:n關係

+1

非規範化取決於您的搜索方案http://wiki.apache.org/solr/SchemaDesign –

回答

0

多值字段可用於解決此問題。

你dataconfig可能看起來像:

... 
<entity name="Cars" query="select carId, carName from Cars"> 

    <entity name="CarParts" query="select carPartName from CarParts 
            where carId = '${Cars.CarId}'"> 

    </entity> 

</entity> 
... 

架構中的文件,標誌着場 「carPartName」 爲多值。

<field name="carPartName" type="string" indexed="true" stored="true" multiValued="true" /> 

的1:n的關係現在處理,使得如果對每個「汽車」被創建的文檔,則相應的「Carparts」(其可以是多於一個)也相同文檔的一部分。