2012-04-13 65 views
1

我想將csv文件上傳到索引。當我這樣做,我得到一個錯誤:solr:undefined field ------------------------------ 4566bce013ce

org.apache.solr.common.SolrException: undefined field ----------------------------4566bce013ce 
at org.apach.solr.schema.IndexSchema.getField(IndexSchema.java:1185) 

我通過捲曲上傳CSV文件如下:

curl http://localhost:8080/solrTest/update/csv -F commit=ture -F skipLine=1 -F stream.file=/home/solr/text.csv -F fieldnames=partId,desc,usage -H content-type:text/plain;charset=utf-8 

我的領域都在我的schema.xml中定義的,所以我我不知道爲什麼我得到一個未定義的字段錯誤。

讓我知道你是否需要更多信息,謝謝。

編輯: 好吧,在閱讀Itay Moav的帖子後,我決定做一些更簡單的測試。我用一個partId(test123)只使用一個記錄的csv文件。我的schema.xml如下所示:

<?xml version="1.0" encoding="UTF-8" ?> 
<schema name="parts" version="1.5"> 
    <types> 
    <fieldType name="text_en_us" class="solr.StrField"> 
    </types> 
    <fields> 
    <field name=partId type="text_en_us" indexed="true" stored="true" required="true" /> 
    <uniqueKey>partId</uniqueKey> 
    </fields> 
</schema> 

即使使用此測試數據,我也會得到相同的錯誤。唯一改變的是最後的數字。

org.apache.solr.common.SolrException: undefined field ----------------------------------7951b21305c3 

再次感謝您的幫助。

回答

-1

對csv文件中的記錄進行二進制刪除,直到只剩下有問題的記錄。然後,你要麼自己看到問題,要麼在這裏張貼記錄和模式

1

將此添加到我們的模式,這應該解決它。

<types> 
    <fieldtype name="ignored" stored="false" indexed="false" multiValued="true" class="solr.StrField" /> 
    .... 
</types> 

<fields> 
    <dynamicField name="*" type="ignored" multiValued="true" /> 
    .... 
<fields> 
+0

這隻會隱藏解決它 – 2013-05-12 13:44:43

+0

是的,真正的,話題起動機實際上是信心,他希望所有的領域是如此,我的建議並沒有解決它的問題,而不是。 – 2013-09-13 04:52:09