我正在尝试使用 Solr (或 Lucene)设置一个搜索引擎,它可以包含带有特殊字符的拉丁语文本(特殊字符包括 Ö 或 Ç 作为示例)或西里尔字符(示例包括 Б 或 б 和 Ж ж) 。
无论如何,我正在尝试找到一个解决方案,让我可以搜索包含这些字符的单词,但对于键盘上没有该键的用户......
例子是(这里编造的话,希望不会冒犯任何人):
- 搜索“book”时会找到“BÖÖK”
- 搜索 XRAY 时会找到“ЖRAY”
- 如果搜索 ZRAY、ZHRAY 或 žray,也会找到“ЖRAY”(请参阅GOST 16876-71 http://en.wikipedia.org/wiki/GOST_16876-71有关 Cylric 到拉丁 Char 音译的信息。
那么,我该怎么办呢?我的一些理论是:
- 允许为每个原始字符串存储多个文本字段,一个以原始形式存储,一个在第一遍音译中(例如,将 Ö 仅转换为 O,Ж 转换为 ž,但也转换为 X),然后在音译中存储一个第三种形式(从 ž 到 z 或 zh)-> 意味着我将存储大量数据......
- 按原样存储在 solr 中,并让 Solr 发挥作用 -> 不知道这会工作得有多好...在 solr 中看不到任何可以执行此操作的内容
- 灵丹妙药我还没找到……
有任何想法吗?以前有人尝试过这个吗?
看一眼Solr 的分析器、分词器和分词过滤器 http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters这可以让您很好地了解您正在寻找的操作类型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)