我正在尝试使用命令
发布[{"id":1, "name":"Waldenström"}]
到solr
curl 'http://localhost:8983/solr/update/json?commit=true' --data-binary @condition_synonyms.json -H 'Content-type:application/json; charset=UTF-8'
或
curl 'http://localhost:8983/solr/update/json?commit=true' --data @filename.json -H 'Content-type:application/json; charset=UTF-8'
它将会有的领域
<charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt"/>
正在工作 - 通过我的data-config.xml中的SQL查询导入正确地将“waldenstrom”放入索引中。通过curl发布后,索引将其分为“waldenstr”和“waldenstrm”。
虽然我怀疑这是邮编码的问题,但我不确定这是否是一个solr或curl问题。感谢。
答案 0 :(得分:1)
你得到了什么错误?你在使用Windows吗?然后您应该收到错误Unsupported protocol: 'http
因此,请尝试将'
替换为"
。例如:
curl "http://localhost/"
默认情况下,您的curl会将其视为POST请求,但您仍然可以使用-X POST
参数和命令行。
答案 1 :(得分:0)
不幸的是我的数据库不像我想象的那样是UTF-8,它是latin1。使用
curl 'http://localhost:8983/solr/update/json?commit=true' --data @filename.json -H 'Content-type:application/json; charset=latin1'
解决了这个问题,因为该文件已从数据库中导出。