搜索机制搜索带/不带特殊字符的单词 - 怎么样?

时间:2011-07-13 07:44:52

标签: php mysql cakephp

如何建立这样的搜索机制:

用户输入时

"sól" 搜索了两个单词:"sol"& "sól"

并且有两个单词的搜索结果

1 个答案:

答案 0 :(得分:1)

您可以使用“Umlaut insensitive”的mySQL排序规则,例如utf8_general_ci

无论

  • 创建一个utf8_general_ci
  • 的专用搜索列
  • 或者在搜索时定义排序规则,这样更容易但性能不佳。 这应该有效:

    select * from column where name='sól' COLLATE utf8_general_ci;
    

    但是,在某些情况下执行此操作可能会降低性能,因为我非常确定在指定这样的排序规则时无法使用全文索引。