Forgot password?
 Create new account
View 94|Reply 2

MySQL可以使用BOOLEAN模式执行高级查询

[Copy link]

3147

Threads

8493

Posts

610K

Credits

Credits
66163
QQ

Show all posts

hbghlyj Posted at 2023-2-7 08:38:11 |Read mode
mysql中文全文检索实战与性能对比

必须包含"腾讯"
  1. SELECT * FROM articles
  2. WHERE MATCH (title,body)
  3. AGAINST ('+腾讯' IN BOOLEAN MODE);
Copy the Code
必须包含"腾讯",但是不能包含"通讯工具"
  1. SELECT * FROM articles
  2. WHERE MATCH (title,body)
  3. AGAINST ('+腾讯 -通讯工具' IN BOOLEAN MODE);
Copy the Code
下面的例子演示了BOOLEAN模式下运算符的使用方式:

'apple banana'
无操作符,表示或,要么包含apple,要么包含banana

'+apple +juice'
必须同时包含两个词

'+apple macintosh'
必须包含apple,但是如果也包含macintosh的话,相关性会更高。

'+apple -macintosh'
必须包含apple,同时不能包含macintosh。

'+apple ~macintosh'
必须包含apple,但是如果也包含macintosh的话,相关性要比不包含macintosh的记录低。

'+apple +(>juice <pie)'
查询必须包含apple和juice或者apple和pie的记录,但是apple juice的相关性要比apple pie高。

'apple*'
查询包含以apple开头的单词的记录,如apple、apples、applet。

'"some words"'
使用双引号把要搜素的词括起来,效果类似于like '%some words%',
例如“some words of wisdom”会被匹配到,而“some noise words”就不会被匹配。

3147

Threads

8493

Posts

610K

Credits

Credits
66163
QQ

Show all posts

 Author| hbghlyj Posted at 2025-3-29 02:43:55
现在是用 AND 连接多个 like 条件实现的。若改用BOOLEAN模式会提升性能吗?

3147

Threads

8493

Posts

610K

Credits

Credits
66163
QQ

Show all posts

 Author| hbghlyj Posted at 2025-3-29 02:48:11
MySql全文搜索是否应该用 NATURAL LANGUAGE 模式

手机版Mobile version|Leisure Math Forum

2025-4-20 22:26 GMT+8

Powered by Discuz!

× Quick Reply To Top Return to the list