本页二维码,扫一扫分享到朋友圈
朋友圈

match against 全文检索语法


阅读181 评论0 赞 25返回首页    go 编程与技术  go mysql


SELECT * FROM articles WHERE MATCH (title,body)     AGAINST ('+apple -banana' IN BOOLEAN MODE);   + 表示AND,即必须包含。- 表示NOT,即不包含。

SELECT * FROM articles WHERE MATCH (title,body)     AGAINST ('apple

banana' IN BOOLEAN MODE);  

apple和banana之间是空格,空格表示OR,即至少包含apple、banana中的一个。

SELECT * FROM articles WHERE MATCH (title,body)     AGAINST ('+apple

banana' IN BOOLEAN MODE);   必须包含apple,但是如果同时也包含banana则会获得更高的权重。

SELECT * FROM articles WHERE MATCH (title,body)     AGAINST ('+apple

~banana' IN BOOLEAN MODE);   ~

是我们熟悉的异或运算符。返回的记录必须包含apple,但是如果同时也包含banana会降低权重。但是它没有 +apple -banana

严格,因为后者如果包含banana压根就不返回。

SELECT * FROM articles WHERE MATCH (title,body)     AGAINST ('+apple

+(>banana <orange)' IN BOOLEAN MODE);  

返回同时包含apple和banana或者同时包含apple和orange的记录。但是同时包含apple和banana的记录的权重高于同时包含apple和orange的记录。


  上一篇:go sphinx 配置mysql
  下一篇:go MySQL单表百万数据记录分页性能优化


评论


用QQ登录管理/创建网站 用微博登录管理/创建网站   发布于:04-18