mysql搜索具有不同顺序的表列中的字符串

时间:2016-09-11 19:59:02

标签: mysql

我在mysql表中有一个列,其中包含'dubai the-ritz hotel,阿拉伯联合酋长国'等字符串 如果搜索字符串是'dubai rit'或'united arab emirates rit'或'rit dubai',我想选择此列 如果单词是以任何顺序我想选择这个列,因为我可以看到它有单词。我尝试使用mysql'like'和mysql FULLTEXT搜索,但我无法执行获得准确的结果

SELECT * FROM `table`  where SearchString like 'dubai rit'

select * from table WHERE MATCH(SearchString) AGAINST('dubai rit' IN BOOLEAN MODE )

请帮助。

1 个答案:

答案 0 :(得分:1)

您需要使用*搜索部分字词:

..
AGAINST('+dubai* +rit*' IN BOOLEAN MODE )

您可以使用您用于查询MySql的任何编程语言为每个单词添加*。

PS:MySql只允许使用前缀,这意味着你只能在单词的末尾添加*。

Reference: Section *