如何使用Apache Solr处理不同的UTF-8规范化?

时间:2015-07-01 08:16:59

标签: java utf-8 solr

我们正在以不同的UTF-8标准化获取数据。我们在大多数情况下都会得到UTF-8,但也会分解UTF-8。我们想用Apache Solr搜索这些数据,现在我们遇到了一些麻烦。我会给你一个例子(Rabbi Akiva Eger):

(1) NFD:    ʿAqîvâ Ben-Moše Êger    cabf417169cc827661cc822042656e2d4d6f73cc8c652045cc82676572
(2) NFC:    ʿAqîvâ Ben-Moše Êger    cabf4171c3ae76c3a22042656e2d4d6fc5a16520c38a676572
(3) ASCII:  Aqiva Ben-Mose Eger     41716976612042656e2d4d6f73652045676572

我们发现Solr不处理(1)等于(2)或(3)。这对我们来说是一个问题,因为它只能用键盘轻松键入ASCII字符。当您搜索(3) - 键盘输入时 - 您将找不到(1)或(2)的数据。

是否有一种简单的方法可以通过Solr选项启用此功能,或者我们是否需要在搜索索引中输出UTF-8 NFC,NFD和ASCII数据以获取所有这三种变体的搜索结果!?

1 个答案:

答案 0 :(得分:0)

solr.ICUNormalizer2FilterFactory可以解决问题。