今天要介绍的就是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,即不包含。
代码如下 | 复制代码 |
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 |

如何使用PHP扩展Sphinx进行全文搜索全文搜索是现代Web应用程序中的常见需求之一。为了满足用户对数据的高效查询和检索,我们可以使用Sphinx这个功能强大的开源搜索引擎来实现全文搜索功能。Sphinx使用C++编写,提供了PHP的扩展,方便我们在PHP项目中使用。本文将介绍如何使用PHP扩展Sphinx进行全文搜索

在现代网络应用开发中,全文搜索功能已经成为了必不可少的一部分。而PHP作为一个广泛应用于开发Web应用的语言,也自然而然地提供了一些功能强大的库来支持全文搜索。在这篇文章中,我们将深入探讨如何使用PHP实现全文搜索功能,并且提供一些小技巧,使你的信息查找更加便捷。一、什么是全文搜索?全文搜索是指在一篇文档中检索某个关键字或短语的能力。传统的搜索引擎通常只是简

如何使用PHP和SQLite进行全文搜索和索引策略引言:在现代的应用程序开发中,全文搜索功能在许多领域中都是不可或缺的。无论是在博客、新闻网站还是在电子商务平台上,用户都习惯使用关键字进行搜索。因此,为了提高用户体验并提供更好的搜索结果,我们需要使用适当的搜索和索引策略来提供全文搜索功能。在本文中,我们将探讨如何使用PHP和SQLite数据库来实现全文搜索和

如何使用MongoDB实现数据的全文搜索功能导语:随着信息化时代的迅猛发展,全文搜索功能成为了许多应用程序的必备功能。作为一个流行的NoSQL数据库,MongoDB也提供了强大的全文搜索能力。本文将介绍如何使用MongoDB实现数据的全文搜索功能,并提供相关的代码示例。一、MongoDB全文搜索功能简介MongoDB的全文搜索功能是通过MongoDB的文本索

如何通过PHP和Elasticsearch快速实现全文搜索全文搜索在现代应用程序中变得越来越重要,它可以帮助用户快速找到他们需要的信息。Elasticsearch是一个强大的开源搜索引擎,它提供了快速和高效的全文搜索功能。结合PHP的强大功能和Elasticsearch的灵活性,我们可以轻松地实现全文搜索功能。本文将向您展示如何使用PHP和Elasticse

如何使用PHP实现全文搜索和关键字提取功能全文搜索和关键字提取是现代网站和应用程序中常见的功能,可以为用户提供更好的搜索体验和相关推荐。在PHP中,我们可以使用全文索引和关键字提取的技术来实现这些功能。本文将介绍如何使用PHP实现全文搜索和关键字提取功能,并提供相应的代码示例。全文搜索功能的实现全文搜索是指在文本内容中搜索包含指定关键字的记录。在

随着信息时代的不断发展,人们越来越依赖互联网来获取信息。而作为信息分享的平台之一,网页搜索引擎也在不断进化和完善。本文将介绍如何在PHP7.0中实现一个全文搜索引擎,帮助读者更好地利用PHP技术,快速构建高效率的搜索引擎。一、全文搜索引擎概述全文搜索即使用关键词或短语在整篇文档中进行搜索,以找到最匹配的结果。全文搜索引擎使用算法对文档进行索引,以加速搜索。在

Solr是一个基于Lucene的搜索引擎,可以用于实现全文搜索。在PHP中使用Solr进行全文搜索,可以帮助我们快速地通过关键词查询到相关的数据,提高搜索结果的准确性和可靠性。本文将为大家介绍如何在PHP中使用Solr进行全文搜索。一、Solr的安装与配置首先,我们需要在服务器上安装Solr和PHP的Solr扩展。Solr的安装步骤可以参考Solr的官方文档


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

Notepad++7.3.1
Easy-to-use and free code editor

Atom editor mac version download
The most popular open source editor
