今天要介绍的就是mysql全文搜索的应用,全文检索的表的存储引擎类型必须为MyISAM,否则不能做全文搜索哦。
首先用下面表举例:
| 代码如下 | 复制代码 |
|
|
|
MySQL使用Match()和Against()执行全文搜索,举例如下:
| 代码如下 | 复制代码 |
|
SELECT body FROM articles WHERE Match(body) Against('www.phpddt.com'); |
|
如上Match是正对指定的列进行搜索,Against('www.phpddt.com')是正对指定词进行搜索
另外:
使用查询扩展WITH QUERY EXPANSION,将会搜索出更多结果(mysql会将匹配的行中有用的词再次进行搜索,这样搜索出来的结果更多,但可能不是你想要的);
使用布尔文本搜索IN BOOLEAN MODE,类似我们平时使用搜索引擎时用到的的语法:逻辑与、逻辑或、逻辑非等.支持的布尔操作符如下:
全文布尔操作符:
--------------------------------------------------------------------------------------------------------------
|操作符 | 说明 |
--------------------------------------------------------------------------------------------------------------
| + |包含,词必须存在
| - |排除,词必须不出现
| > |包含,而且增加等级值
|
| () |把词组成子表达式(允许这些子表达式作为一个组被包含,排除,排列等)
| ~ |取消一个词的排序值
| * |词尾的通配符
| " " |定义一个短语(与单个词的列表不一样,它匹配整个短语以便包含或排除这个短语)
----------------------------------------------------------------------------------------------------------------
使用方法如下:
| 代码如下 | 复制代码 |
|
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+apple -banana' IN BOOLEAN MODE); |
|
+ 表示AND,即必须包含。- 表示NOT,即不包含。
去日租程序是一款具有强大的功能的基于.NET+SQL2000+AJAX构架的房屋出租管理系统。 日租网站管理系统,采用ASP.NET2.0语言开发,它集成租房模块、文章模块、订单模块、邮箱短信模块、用户模板、SEO优化模块、房间模块、支付模块等多项强大功能。系统有多年经验的高级工程师采用三层架构开发,页面代码全部采用DIV+CSS,完全符合SEO标准,有利于搜索引擎关键排名优化。日租网站
0
| 代码如下 | 复制代码 |
|
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 |
|
返回同时包含apple和banana或者同时包含apple和orange的记录。但是同时包含apple和banana的记录的权重高于同时包含apple和orange的记录。
linux中mysql中文全文搜索 .
| 代码如下 | 复制代码 |
|
centos6 # /opt/lampp/bin/mysql -uroot -ppassword mysql> SHOW VARIABLES LIKE 'plugin_dir'; # wget http://mysqlcft.googlecode.com/files/mysqlcft-1.0.0-x86_64-bin.tar.gz # /opt/lampp/bin/mysql -uroot -ppassword
SELECT * FROM articles WHERE MATCH(title,body) AGAINST ('北京' IN BOOLEAN MODE |
|
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号