solr - 使用curl和SOLR索引文件

标签 solr indexing tomcat6

我已经设置了一个 SOLR 服务器,使用 tomcat6。一切正常,通过管理员我可以导入文档。

但是,我想从 shell 索引文档。我已经尝试过以下命令。该命令有效,我将数据放入curl命令中

curl http://localhost:8080/solr/shoeclub/update?commit=true -H "Content-Type: text/xml" --data-binary '<add><doc><field name="id">1110.1.100733</field><field name="title">Peter Kaiser 23701 Zwart</field></doc><doc><field name="id">1110.1.101361</field><field name="title">Unisa Wonte Zwart</field></doc></add>'

此命令不起作用,我在其中使用 xml 文件发布数据(该文件与上面命令中的 xml 数据具有完全相同的内容(复制/粘贴)。

curl http://vanassem.keytoe.nl:8080/solr/shoeclub/update --data-binary @shoeclub.xml -H "Content-Type: text/xml"

我已经为tomcat用户设置了xml文件的文件权限,所以应该也没有问题。但是,xml 文件中的数据不会发布到索引中。为什么?

最佳答案

正在第二个curl示例中对文档进行索引。但是,由于您没有将 commit=true 查询字符串参数添加到第二个 URL,因此文档在提交之前在索引中不可见。添加 commit=true 查询字符串参数,您应该会看到 xml 文件中定义的文档。

这里有一个很好的引用 Near Real Time Searching in Solr其中涵盖了一些提交策略,您可以使用这些策略来确定文档何时在索引中可见。

关于solr - 使用curl和SOLR索引文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20972567/

相关文章:

java - SOLR函数查询性能

sql - PostgreSQL:使用 join 和 group by 查询花费的时间太长

jakarta-ee - 使用 IntelliJ 路径变量,如何在 Tomcat 服务器运行配置中设置系统属性?

java - Solr:支持希腊语的音译/转录

elasticsearch - 与Solr从头开始设计为分布式索引的 Elasticsearch 不同,ElasticSearch是什么意思?

r - 一种在 R 中搜索两个列表之间唯一值的非面向索引的方法

sql - MySQL,不解为什么查询慢,有索引吗?

java - 为了邮寄需要重启服务器

tomcat - java.lang.ClassNotFoundException : org. apache.tomcat.jdbc.pool 数据源工厂

parameters - SOLR - 如何将参数传递给数据导入