假设我有一排:
一天吃一個蘋果
有人输入查询:
天蘋
我应该分解查询中的字符,并针对该行对每个字符单独执行LIKE % %
匹配,还是有更简单的方法来获取包含两个字符之一的行? FULLTEXT不适用于CJK字符。
谢谢!
答案 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
比我们的算法更能找到真实的词-我吃梨耳。在下一步中,我们可以排除耳朵中已经存在的耳朵,并在预先分割的词汇表中进行搜索。