我试图在 Zend_Search_Lucene 中找到一种方法来实现以下场景:
假设我们有一个用户,她的名字是 Aïcha(注意特殊字符)。如果我正在搜索 Aicha 的索引(没有 i 的特殊导数),我希望在结果中返回 Aïcha。
在索引或搜索时我需要做一些特别的事情来完成这项工作吗?我已经阅读了有关在索引之前规范化数据的解决方案,用规范化字符替换所有特殊字符,但我宁愿不走那条路。
在此先感谢,加里
我试图在 Zend_Search_Lucene 中找到一种方法来实现以下场景:
假设我们有一个用户,她的名字是 Aïcha(注意特殊字符)。如果我正在搜索 Aicha 的索引(没有 i 的特殊导数),我希望在结果中返回 Aïcha。
在索引或搜索时我需要做一些特别的事情来完成这项工作吗?我已经阅读了有关在索引之前规范化数据的解决方案,用规范化字符替换所有特殊字符,但我宁愿不走那条路。
在此先感谢,加里
function normalize ($string){
$a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ
ßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕ';
$b = 'aaaaaaaceeeeiiiidnoooooouuuuy
bsaaaaaaaceeeeiiiidnoooooouuuyybyRr';
$string = utf8_decode($string);
$string = strtr($string, utf8_decode($a), $b);
$string = strtolower($string);
return utf8_encode($string);
}
$passToIndexer = normalize(" Aïcha ");
尝试在创建索引时使用此函数输出,存储实际值而不对其进行索引=)希望它有所帮助,坦率地说,我认为没有其他方法。