2012-07-23 34 views
1

我有一個多值字段Solr的數據導入多值字段到一個單一的值域

<arr name="colors"> 
<str>Blue</str> 
<str>Red</str> 
<str>Orange</str> 
<str>Pink</str> 
<str>Violet</str> 
</arr> 

填充像這樣:

<entity name="pub_attributes" query=" SELECT name [description] FROM dbo.Colors"> 
     <field name="colors" column="description" /> 
</entity> 

我需要另一個領域的所有顏色,但只有一條線通過空格分開像

<str name="Colors_All">Bue Red Orange Pink Violet</str> 

我怎麼能做到這一點無需從頭再來訪問色彩表? 也許這樣的事情

<entity name="Properites_all" query=" 
    DECLARE @all VARCHAR(MAX) 
    SET @all = ''  
    Select @all = @all + ... from '${pub_attributes.colors}' 

    UNION 
    Another SELECT that will add more info than just the colors 
"> 
    <field name="colors_all" column="description" /> 
</entity> 
+1

你能接受一些你以前得到的答案嗎? – javanna 2012-07-24 07:50:42

回答

0

我想,你在尋找什麼是copyfield: copyfield wiki,你也可以到這裏看看:how to use it 希望這將有助於。

+0

我試過,但從多值複製到單值不工作,再加上,我需要添加額外的信息字段「Colors_All」,這就是爲什麼我需要在查詢中引用「顏色」屬性之後,我可以添加更多的話。不管怎麼說,還是要謝謝你! – Nicole 2012-07-25 15:15:26

+2

在這種情況下,如果您使用DIH(數據導入器處理程序)進行導入,則可以在導入/索引時使用scriptTransformer:[link](http://wiki.apache.org/solr/DataImportHandler#ScriptTransformer) – vuky 2012-07-26 05:46:20

相關問題