我已经设置了一个 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/