mysql全文模糊搜索MATCH AGAINST方法示例
全文检索语法
|
1
|
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+apple -banana' IN BOOLEAN MODE); |
表示AND,即必须包含。- 表示NOT,即不包含。
|
1
|
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('apple banana' IN BOOLEAN MODE); |
apple和banana之间是空格,空格表示OR,即至少包含apple、banana中的一个。
|
1
|
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+apple banana' IN BOOLEAN MODE); |
必须包含apple,但是如果同时也包含banana则会获得更高的权重。
|
1
|
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+apple ~banana' IN BOOLEAN MODE); |
~ 是我们熟悉的异或运算符。返回的记录必须包含apple,但是如果同时也包含banana会降低权重。 但是它没有 +apple -banana 严格,因为后者如果包含banana压根就不返回。
|
1
|
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+apple +(>banana <orange)' IN BOOLEAN MODE); |
返回同时包含apple和banana或者同时包含apple和orange的记录。但是同时包含apple和banana的记录的权重高于同时包含apple和orange的记录。
参考:https://www.jb51.net/article/31904.htm

浙公网安备 33010602011771号