3

我有一个带有FULLTEXT索引的 myISAM 表,正在尝试做

SELECT 
    lk.id,
    lk.address
FROM 
    lk 
WHERE MATCH 
    lk.address 
AGAINST('235 regent street, london w1b 2et');

我得到结果,但只有那些在里面得到“伦敦”这个词的人,或者那些在里面得到“街道”这个词的人。我知道 3 个ft_min_word_len字符的单词没有被索引,所以 "235","w1b","2et" 被忽略了,但是 "regent" 呢?这样做的标准方法是什么?模糊匹配地址。谢谢

4

1 回答 1

1

答案是使用MATCH AGAINST('...' IN BOOLEAN MODE), 并+在每个单词前添加。

或使用其他字符,如:http: //dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.html

它需要根据您搜索的文本以及您获得它的方式进行微调。

于 2011-05-09T13:13:58.117 回答