我们正在寻找提供like '%%'
查询结果但使用全文搜索MATCH AGAINST
例如
Select id,name from table where jobtitle like '%java software engineer in google%'
它提供了包含google
中的行java软件工程师的所有行但是如果我们使用下面的mysql查询,那么它会给出不同的结果
Select id,name from table
where MATCH(jobtitle) AGAINST ('+java software engineer in google' IN BOOLEAN MODE)
它提供的行包含来自Google软件工程师的任何单词
我想要使用像'%java软件工程师在谷歌%'查询中使用的确切输出。
答案 0 :(得分:0)
正如Boolean fulltext search上的MySQL文档所示(粗体是我的):
布尔全文搜索功能支持以下内容 运营商:[...]
"
双引号(“"”)字符中的短语匹配 仅键入包含短语字面的行。该 全文引擎将短语拆分为单词并执行搜索 单词的FULLTEXT索引。 非单词字符不一定是 完全匹配:短语搜索只需要匹配包含 与短语完全相同的单词和相同的顺序。对于 例如,"测试短语"匹配"测试,短语"。
如果短语中不包含索引中的单词,则结果为 空。由于组合,单词可能不在索引中 因素:如果它们在文本中不存在,则是停用词,或者是 短于索引词的最小长度。
因此,请使用"
运算符:
Select id,name from table
where MATCH(jobtitle) AGAINST ('"java software engineer in google"' IN BOOLEAN MODE)
粗体部分包含警告:由于全文索引的性质,结果可能略有不同。