无法通过卷曲将变音符号发布到solr

时间:2014-02-13 15:49:39

标签: curl solr utf-8 character-encoding

我正在尝试使用命令

发布[{"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问题。感谢。

2 个答案:

答案 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'

解决了这个问题,因为该文件已从数据库中导出。