我正在尝试使用 Solr(或 Lucene)设置一个搜索引擎,它可以在拉丁文中包含带有特殊字符的文本,(特殊字符将包括 Ö 或 Ç 作为示例)或西里尔字符(示例包括 Б 或 б 和 Ж ж) .
无论如何,我正在尝试找到一种解决方案,以允许我搜索带有这些字符的单词,但对于键盘上没有键的用户...
例子是(在这里编造词,希望不会冒犯任何人):
- 搜索“书”时会找到“BÖÖK”
- 搜索 XRAY 时会找到“ЖRAY”
- 如果搜索 ZRAY、ZHRAY 或 žray,也会找到“ЖRAY”(有关将 Cylric音译为拉丁字符的信息,请参阅GOST 16876-71 。
那么,我该怎么做呢?我的一些理论是:
- 允许为每个原始字符串存储多个文本字段,一个以原始形式存储,一个在第一次音译中(例如,将 Ö 转换为 O,将 Ж 转换为 ž,还有 X),然后一个在第三种形式(从ž到z或zh)->意味着我将存储大量数据......
- 按原样存储在 solr 中,让 Solr 发挥作用 -> 不知道这将如何运作......在 solr 中看不到任何东西来做到这一点
- 魔法子弹我还没找到……
有任何想法吗?以前有人试过吗?