带有Tomcat 6的Solr 4.7.1不存储罗马尼亚字符

时间:2014-10-10 14:52:19

标签: tomcat6 solr4 php-5.4

尝试将罗马尼亚特殊字符(变音符号)存储到solr架构字段时,例如:

<field name="description" type="text_general" indexed="true" stored="true" required="false"/>

罗马尼亚字符是:(ă,î,â,ş,ţ),它们在SOLR中由?替换。

提到我已完成基本设置所需的所有操作,我使用Tomcat6运行它。

我的Solr版本是4.7.1

1 个答案:

答案 0 :(得分:0)

确保以正确的编码方式向Solr提交数据。

还要考虑为内容类型指定charset。例如。内容类型:text / plain的;字符集= UTF-8

还尝试检查Solr Side如何解析数据。只需调试此方法:

org.apache.solr.servlet.SolrRequestParsers.parseParamsAndFillStreams(HttpServletRequest, ArrayList<ContentStream>)

见这一行:

final String cs = ContentStreamBase.getCharsetFromContentType(req.getContentType());
final Charset charset = (cs == null) ? IOUtils.CHARSET_UTF_8 : Charset.forName(cs);

Solr应该在这里提出UTF-8。