2015-11-20 39 views
0

我想索引包含特殊字符(貨幣符號)和圖釋的文本數據。目前我使用下面的代碼來索引這些數據: <fieldTypename="text"class="solr.TextField"> <analyzer> <tokenizerclass="solr.WhitespaceTokenizerFactory"/> <filterclass="solr.LowerCaseFilterFactory"/> <filterclass="solr.KeywordRepeatFilterFactory"/> <filterclass="solr.StopFilterFactory"words="stopwords.txt" ignoreCase="true"/> </analyzer>
但是,雖然檢索數據,我可以看到,所有的特殊字符和表情符號和變壞,例如,
Debtof 1,590.79settledfor 436.00

請建議在這裏可以做些什麼。SOLR特殊字符和圖釋

應用程序流:數據首先存儲在HBASE中,並且實時索引器將其更新爲SOLR。

CDH版:5.4.5 SOLR版:4.10.3 HBASE韋埃爾:1.0.0

+1

我猜這是UTF-16? Solr需要UTF-8。您可能必須在您的應用中轉換爲UTF-8。我不知道你在用什麼語言,但Java的CharsetEncoder可能對你有用。 – TMBT

+0

嘗試使用java -DFileEncoding屬性將Java代碼編碼更改爲UTF-8。當我檢查UTF-8字符列表時,這些符號也在UTF-8下。 –

回答

0

我通過轉換到表情和HTMLHex然後將其存儲到SOLR解決了這個。在SOLR中,我可以看到十六進制代碼完好無損,可以轉換回笑臉。
使用的庫:
Lib to convert emoticons to Hex emoji-java