我打过电话 keywords
存储的信息是一个关键字,用 |
例如:
sky|Banana is good|apple|apple is red|sky is blue|green
我试图做的是在该字段中搜索,并找到至少包含一个关键字的结果。
为此,我在布尔模式中使用了match-against
SELECT * FROM mytable
WHERE MATCH(kewords)
AGAINST ('+sky is blue +Banana is good +otherword' IN BOOLEAN MODE)
但是results出错,例如它将选择包含 +sky is blue
还有一个词 sky
我知道如何在php中解决这个问题,但我正在寻找mysql解决方案,我认为match-against是我正在寻找的。
1条答案
按热度按时间vs91vp4v1#
一种方法是使用
LIKE
,用分隔符分隔搜索词:这确保了搜索短语必须完全匹配(即。
sky is blue
将不匹配sky
).如果你想让所有的短语都出现(而不是任何一个),只需更改
OR
至AND
.