【发布时间】:2016-02-22 15:32:39
【问题描述】:
我想索引包含特殊字符(如货币符号)和表情符号的文本数据。目前我正在使用以下代码来索引这些数据:
<fieldTypename="text"class="solr.TextField">
<analyzer>
<tokenizerclass="solr.WhitespaceTokenizerFactory"/>
<filterclass="solr.LowerCaseFilterFactory"/>
<filterclass="solr.KeywordRepeatFilterFactory"/>
<filterclass="solr.StopFilterFactory"words="stopwords.txt"
ignoreCase="true"/>
</analyzer>
但是在检索数据时,我可以看到所有特殊字符和表情符号都被破坏了,例如
��1,590.79 的债务已清偿��436.00
请建议在这里可以做什么。
应用程序流程:数据首先存储在 HBASE 中,并通过实时索引器将其更新到 SOLR。
CDH 版本:5.4.5 SOLR 版本:4.10.3 HBASE VEer:1.0.0
【问题讨论】:
-
我猜这是 UTF-16? Solr 需要 UTF-8。您可能必须在您的应用程序中转换为 UTF-8。我不知道您使用的是什么语言,但 Java 的 CharsetEncoder 可能对您有用。
-
尝试使用 java -DFileEncoding 属性将 Java 代码编码更改为 UTF-8。当我检查 UTF-8 字符列表时,这些符号也属于 UTF-8。
标签: solr lucene hbase codepages indexer