2013-03-06 73 views
0

我想配置copyField,但文檔在語法示例上很亮。如何使用copyField(solr4)創建跨多個字段可搜索的字段?

這是我試圖這樣做,但重新導入我的所有數據後,「一切」字段沒有文件:

<field name="all" type="text_en_splitting" indexed="true" stored="false" multiValued="true" termVectors="true" version="1.5" /> 
    <copyField source="id" dest="all"/> 
    <copyField source="item_name" dest="all"/> 
    <copyField source="item_brand" dest="all"/> 
    <copyField source="short_description" dest="all"/> 
    <copyField source="long_description" dest="all"/> 
    <copyField source="catalog_names" dest="all"/> 
    <copyField source="categories" dest="all"/> 
    <copyField source="keywords" dest="all"/> 
    <copyField source="attributes" dest="all"/> 

我真正需要的是這樣的:

我的文檔定義了所有這些字段(id,item_name,短/長描述等)。

我想搜索大部分字段,但不存儲值(我只是返回文檔ID)。

所以:

  • 我需要定義每個屬性的字段(ITEM_NAME,短/長遞減,等。)?
  • 我應該將它們全部複製到一個字段中,以便我可以搜索所有這些字段?這是必要的嗎?
  • 有沒有一種方法可以將所有這些字段導入到一個solr字段?我的schema.xml應該如何看?

我目前還沒有任何搜索查看某個特定字段的搜索。

回答

1

我需要定義每個屬性
您需要定義所有的字段,如果你想找回自己的價值觀任何方式的一個領域。

我應該將它們全部複製到一個字段中,以便我可以搜索所有這些字段?這是必要的嗎? 您需要將它們複製到單個字段並在該字段上進行搜索。

有沒有一種方法可以將所有這些字段導入到一個solr字段?我的schema.xml應該如何看?
您可以定義動態字段,並有一個copyfield將它們複製到一個單場

0

看來,我在copyField中最大的問題是我需要刪除並重新加載索引來啓用它。添加替代現有文檔的文檔已足夠。

+0

是的,幾乎任何時候你做出更改Schema.xml文件,更改不會反映在索引文檔直到文件被重新加載。 – 2013-03-06 13:02:16