Tomcat上的Solr无法在没有错误字段未知的情况下发布xml文件

时间:2013-05-08 18:43:08

标签: xml tomcat ubuntu curl solr

我刚刚在Ubuntu上使用以下教程安装了Solr:

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

让我好起来。

但是当我想发布一个新的XML文件(如example / 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'

在此,我试图弄清楚我一直陷入的典型新手陷阱(即在安装后卡在一些常见的东西上,而不是试图在左侧区域做太远的事情)。

1 个答案:

答案 0 :(得分:0)

Solr需要知道字段的类型,因此它知道如何解析/标记它们。如果您想以相同的方式对它们进行标记,则可以使用dynamicField功能来匹配多个名称。

请注意,更新不允许您只发送随机XML。它需要特定的Solr Update XML格式。