我想在两个列的MySQL表中搜索一个或多个关键字。
我尝试了这个查询:
select *
from table
where match(col1, col2) against ('keyword1 keyword 2' with query expansion)
但是这个查询并不总能给出正确的结果。有什么建议吗?
答案 0 :(得分:0)
可能有帮助:
select *, match(col1, col2)
against ('keyword1 keyword2' in boolean mode) as relevance
from content
where match(col1, col2)
against ('keyword1 keyword2' in boolean mode)
order by relevance;
比较此查询的results和您在上面写的那个。
请注意,使用WITH QUERY EXPANSION
会导致搜索模糊。来自the documentation:
"它的工作原理是执行两次搜索,其中第二次搜索的搜索短语是与第一次搜索中几个最高度相关的文档连接的原始搜索短语。"