Zend搜索Lucene和Accented Characters

Gar*_*y M 6 lucene zend-framework utf-8 zend-search-lucene

我试图在Zend_Search_Lucene中找到一种方法来实现以下场景:

假设我们有一个用户,她的名字是Aïcha(注意特殊字符).如果我正在搜索Aicha的索引(没有i的特殊衍生物),我希望在结果中返回Aïcha.

索引或搜索是否需要做一些特殊工作才能使其工作?我已经阅读了关于在索引之前规范化数据的解决方案,用标准化字符替换所有特殊字符,但我宁愿不去那条路线.

提前谢谢,加里

Abd*_*han 3

\n \nfunction normalize ($string){\n    $a = \'\xc3\x80\xc3\x81\xc3\x82\xc3\x83\xc3\x84\xc3\x85\xc3\x86\xc3\x87\xc3\x88\xc3\x89\xc3\x8a\xc3\x8b\xc3\x8c\xc3\x8d\xc3\x8e\xc3\x8f\xc3\x90\xc3\x91\xc3\x92\xc3\x93\xc3\x94\xc3\x95\xc3\x96\xc3\x98\xc3\x99\xc3\x9a\xc3\x9b\xc3\x9c\xc3\x9d\xc3\x9e\n\xc3\x9f\xc3\xa0\xc3\xa1\xc3\xa2\xc3\xa3\xc3\xa4\xc3\xa5\xc3\xa6\xc3\xa7\xc3\xa8\xc3\xa9\xc3\xaa\xc3\xab\xc3\xac\xc3\xad\xc3\xae\xc3\xaf\xc3\xb0\xc3\xb1\xc3\xb2\xc3\xb3\xc3\xb4\xc3\xb5\xc3\xb6\xc3\xb8\xc3\xb9\xc3\xba\xc3\xbb\xc3\xbd\xc3\xbd\xc3\xbe\xc3\xbf\xc5\x94\xc5\x95\';\n    $b = \'aaaaaaaceeeeiiiidnoooooouuuuy\nbsaaaaaaaceeeeiiiidnoooooouuuyybyRr\';\n    $string = utf8_decode($string);\n    $string = strtr($string, utf8_decode($a), $b);\n    $string = strtolower($string);\n    return utf8_encode($string);\n}\n$passToIndexer = normalize(" A\xc3\xafcha ");\n\n
\n\n

尝试在创建索引时使用此函数输出,存储实际值而不对其进行索引=)希望它有所帮助,坦率地说,我不认为还有其他方法。

\n