1

我刚刚使用以下教程在 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 中)。

另外,我之前按照官方教程,使用java -jar post.jar solr.xml monitor.xml命令来索引新的xml,这很好。

但我对能够从 HTTP 进行更新很感兴趣,因为这是它将如何与我们的系统集成。

全面披露:我是 solr 的新手(也许这很明显)。

更新感谢下面的@Alexandre Rafalovitch,我对 Solr 有了更多的了解。但问题依然存在。例如,我使用默认 Solr 安装示例/exampledocs 目录中的 vidcard.xml 文件,并进入并将动态字段结尾添加到所有字段,但我仍然收到错误: ERROR: unknown field 'manu_s'

在此,我试图找出我一直陷入的典型新手陷阱(即在安装后卡在一些常见的东西上,还没有尝试做任何超出左侧领域的事情)。

4

1 回答 1

0

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

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

于 2013-05-08T19:12:53.197 回答