2013-05-08 19 views
1

我剛剛安裝的Solr在Ubuntu與下面的教程:的Solr Tomcat上無法發佈XML文件無誤場未知

http://feinan.com/2012/05/19/how-to-install-solr-3-6-0-on-ubuntu-12-04-lts/

這讓我起來,運行良好。

但是,當我要發佈一個新的XML文件(如在例如/ exampledocs的那些),我用下面的curl命令:

curl http://localhsot:8080/solr/core0/update -H "Content-Type: text/xml" --data-binary @vidcard.xml

,但我仍然得到錯誤:

ERROR: unknown field 'manu'

從其他QA我明白,這可能是我的schema.xml文件有問題。但是通過全新的安裝,我很困惑,爲什麼我必須爲每一個我要上傳的XML添加每個字段(這裏面有很多,所以我不知道我是否真的必須手動在此之前將其映射到schema.xml中)。

此外,我之前已經按照official tutorial,並使用java -jar post.jar solr.xml monitor.xml命令索引新的XML,這很好。

但是我對能夠從HTTP進行更新感興趣,因爲這將如何與我們的系統集成。

完全披露:我是solr的新手(或許這是顯而易見的)。

更新感謝@Alexandre Rafalovitch下面,我對Solr有所瞭解。但問題依然存在。例如,我使用默認的Solr安裝示例/ exampledocs目錄中的vidcard.xml文件,並將動態字段結尾添加到所有字段,但我仍然收到錯誤:ERROR: unknown field 'manu_s'

在此,I我試圖弄清楚我經常陷入的典型的新手陷阱(即在安裝完成後卡住了一些常見的東西,並沒有試圖在左邊的領域做太多的事情)。

回答

0

Solr需要知道字段是什麼類型,所以它知道如何解析/標記它們。如果您想以同樣的方式標記它們,則可以使用dynamicField功能來匹配多個名稱。

另請注意,更新不允許您發送隨機XML。它期望具體的Solr Update XML格式。

+0

謝謝,我可以看到這可能會有所幫助,但考慮到上述因素後我仍然有同樣的問題。我已更新原始帖子。 – roy 2013-05-08 20:58:41

+0

您認爲應該匹配的模式定義是什麼?您應該有 >重命名爲。 – 2013-05-09 14:04:54