MySQL搜索中文字符

时间:2010-04-18 10:00:28

标签: mysql cjk

假设我有一排:

一天吃一個蘋果

有人输入查询:

天蘋

我应该分解查询中的字符,并针对该行对每个字符单独执行LIKE % %匹配,还是有更简单的方法来获取包含两个字符之一的行? FULLTEXT不适用于CJK字符。

谢谢!

2 个答案:

答案 0 :(得分:1)

假设您正在搜索字符串中的所有查询字符并关心字符顺序。

首先拆分用户查询。说天蘋

然后使用LIKE%构建SQL查询,例如WHERE x LIKE '%天%蘋%'

答案 1 :(得分:0)

似乎我们需要词汇才能进行正确的中文搜索。他们没有空格,但仍然有单词。 例如,我们在输入中有类似“ ieatpear”的内容。 我们应该将其拆分为1-4个字母的任意数量的单词。 i 即吃 atp att tp tpe tpea t pe pe豌豆 e ea 耳朵 ar r

比我们的算法更能找到真实的词-我吃梨耳。在下一步中,我们可以排除耳朵中已经存在的耳朵,并在预先分割的词汇表中进行搜索。