我有索引数据库的Solr。在我的数据库中,所有数据都是拉脱维亚语。问题是,我需要能够搜索单词里加,就好像它是单词里加。当然,我可以定义同义词 - 里加=里加,但我可以定义,那个字母ī是字母i?我读了一些关于solr.ISOLatin1AccentFilterFactory,但据我了解,这不是UTF-8编码,对吧?建议?Solr - 字符替换
1
A
回答
2
使用带有索引和查询的PatternReplaceFilterFactory。似乎是正确的。
1
ISOLatin1AccentFilterFactory正是您在寻找的内容......只要拉丁语-1字符集中的重音EXISTS(UTF-8的低7位与拉丁-1相同)即可。您提到的ī似乎不存在于ISO-8859-1中,因此ISOLatin1AccentFilterFactory在此特定情况下不起作用。我仍然建议您除了使用PatternReplaceFilterFactory处理的任何异常外,还使用ISOLatin1AccentFilterFactory,因为可能有一些拉脱维亚字符会帮助它(假设,我没有拉脱维亚的经验)
仅供参考,我确实尝试过使用ISOLatin1AccentFilterFactory来对付我的Solr设置,并没有帮助这种情况。
1
查看ICUTokenizerFactory,它提供Unicode字符规范化。非常有用,非常简单。
http://lucene.apache.org/solr/api/org/apache/solr/analysis/ICUTokenizerFactory.html
相关问题
- 1. python替换字符而不替换已替换的字符
- 2. 用_符号替换Solr停用词
- 3. 替换“^”字符
- 4. 替换字符
- 5. 替换字符
- 6. 替换字符
- 7. 替换字符
- 8. 字符替换
- 9. 替换SOLR输出字段值
- 10. Solr的字段替换查询
- 11. 替换字符串字符
- 12. 字符串替换交替
- 13. 增强字符串替换不会替换换行字符串
- 14. Chrome字符替换
- 15. 替换字符串
- 16. 替换字符串
- 17. 字符串替换
- 18. Unicode替换字符
- 19. 替换字符串
- 20. 替换字符的
- 21. 替换字符串
- 22. php替换字符
- 23. 替换多字符
- 24. 替换字符串
- 25. 替换字符串
- 26. C++字符替换
- 27. 替换Unicode字符
- 28. 替换字符串[]
- 29. 替换字符串
- 30. 替换字符串