【问题标题】:Zend Search Lucene and Accented CharactersZend 搜索 Lucene 和重音字符
【发布时间】:2010-07-27 19:00:50
【问题描述】:

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

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

在建立索引或搜索时,我需要做一些特别的事情来完成这项工作吗?我已经阅读了有关在索引之前规范化数据的解决方案,用规范化字符替换所有特殊字符,但我宁愿不走那条路。

提前致谢, 加里

【问题讨论】:

    标签: zend-framework utf-8 lucene zend-search-lucene


    【解决方案1】:
    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 ");

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-26
      • 1970-01-01
      • 2011-12-09
      相关资源
      最近更新 更多