mysql全文搜索中文应用

Jun 07, 2016 pm 05:53 PM
全部調べて

今天要介绍的就是mysql全文搜索的应用,全文检索的表的存储引擎类型必须为MyISAM,否则不能做全文搜索哦。

首先用下面表举例:

 代码如下 复制代码


01.CREATE TABLE articles (02.id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,03.title VARCHAR(200),04.body TEXT,05.FULLTEXT (title,body)06.) ENGINE=MyISAM DEFAULT CHARSET=utf8;

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
xampp1.7.7
mysql5.5

# /opt/lampp/bin/mysql -uroot -ppassword

mysql> SHOW VARIABLES LIKE 'plugin_dir';
插件路径:/opt/lampp/lib/mysql/plugin

# wget http://mysqlcft.googlecode.com/files/mysqlcft-1.0.0-x86_64-bin.tar.gz
# tar zxvf mysqlcft-1.0.0-x86_64-bin.tar.gz
# cp mysqlcft.so /opt/lampp/lib/mysql/plugin

# /opt/lampp/bin/mysql -uroot -ppassword
mysql> INSTALL PLUGIN mysqlcft SONAME 'mysqlcft.so';
mysql> SELECT * FROM mysql.plugin;
mysql> SHOW PLUGINS;


ALTER IGNORE TABLE articles ADD FULLTEXT INDEX cnFullIndex (title,body) WITH PARSER mysqlcft;

SELECT * FROM articles WHERE MATCH(title,body) AGAINST ('北京' IN BOOLEAN MODE

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

全文検索にPHP拡張機能Sphinxを使用する方法 全文検索にPHP拡張機能Sphinxを使用する方法 Jul 29, 2023 am 10:05 AM

全文検索に PHP 拡張機能 Sphinx を使用する方法 全文検索は、最新の Web アプリケーションにおける一般的な要件の 1 つです。ユーザーの効率的なクエリとデータの取得を満たすために、強力なオープンソース検索エンジンである Sphinx を使用して全文検索機能を実装できます。 Sphinx は C++ で書かれており、PHP プロジェクトでの使用を容易にする PHP 拡張機能を提供します。この記事では、PHP拡張機能Sphinxを使って全文検索を行う方法を紹介します。

全文検索とインデックス作成戦略に PHP と SQLite を使用する方法 全文検索とインデックス作成戦略に PHP と SQLite を使用する方法 Jul 29, 2023 pm 08:45 PM

全文検索とインデックス付け戦略に PHP と SQLite を使用する方法 はじめに: 最新のアプリケーション開発では、多くの分野で全文検索機能が不可欠です。ブログ、ニュース Web サイト、電子商取引プラットフォームのいずれにおいても、ユーザーはキーワードを使用して検索することに慣れています。したがって、ユーザー エクスペリエンスを向上させ、より良い検索結果を提供するには、適切な検索およびインデックス付け戦略を使用して全文検索機能を提供する必要があります。この記事では、PHP および SQLite データベースを使用して全文検索を実装する方法を検討します。

PHPが全文検索機能を実装し、便利な情報検索を実現する仕組み PHPが全文検索機能を実装し、便利な情報検索を実現する仕組み Jun 27, 2023 am 09:04 AM

最新の Web アプリケーション開発では、全文検索機能が不可欠な部分になっています。 Web アプリケーションの開発に広く使用されている言語として、PHP は当然ながら、全文検索をサポートするいくつかの強力なライブラリを提供します。この記事では、PHP を使用して全文検索機能を実装する方法を詳しく説明し、情報検索を容易にするためのヒントをいくつか紹介します。 1. 全文検索とは何ですか?全文検索とは、ドキュメント内のキーワードまたは語句を取得する機能を指します。従来の検索エンジンは通常、単純に

MongoDBを使ってデータの全文検索機能を実装する方法 MongoDBを使ってデータの全文検索機能を実装する方法 Sep 19, 2023 pm 05:48 PM

MongoDB を使用してデータの全文検索機能を実装する方法 はじめに: 情報化時代の急速な発展に伴い、全文検索機能は多くのアプリケーションに必要な機能になりました。 MongoDB は、人気のある NoSQL データベースとして、強力な全文検索機能も提供します。この記事では、MongoDB を使用してデータの全文検索機能を実装する方法と、関連するコード例を紹介します。 1. MongoDB の全文検索機能の概要 MongoDB の全文検索機能は、MongoDB のテキスト検索機能をベースにしています。

PHPを使用して全文検索とキーワード抽出機能を実装する方法 PHPを使用して全文検索とキーワード抽出機能を実装する方法 Sep 05, 2023 pm 02:00 PM

PHP を使用して全文検索およびキーワード抽出機能を実装する方法 全文検索およびキーワード抽出は、最新の Web サイトやアプリケーションで一般的な機能であり、ユーザーに優れた検索エクスペリエンスと関連性のある推奨事項を提供できます。 PHP では、全文インデックス作成とキーワード抽出テクノロジを使用して、これらの機能を実現できます。この記事では、PHP を使用して全文検索およびキーワード抽出機能を実装する方法と、対応するコード例を紹介します。全文検索機能の実装 全文検索とは、テキスト内容の中から指定したキーワードを含むレコードを検索することです。存在する

PHP7.0で全文検索エンジンを実装するにはどうすればよいですか? PHP7.0で全文検索エンジンを実装するにはどうすればよいですか? May 26, 2023 pm 04:51 PM

情報化時代の継続的な発展に伴い、人々は情報を入手するためにますますインターネットに依存するようになりました。情報共有プラットフォームの 1 つとして、Web 検索エンジンも常に進化し、改善されています。この記事では、PHP 7.0 で全文検索エンジンを実装する方法を紹介し、読者が PHP テクノロジを有効に活用して効率的な検索エンジンを迅速に構築できるようにします。 1. 全文検索エンジンの概要 全文検索では、キーワードまたは語句を使用してドキュメント全体を検索し、最も一致する結果を見つけます。全文検索エンジンは、アルゴリズムを使用してドキュメントにインデックスを付け、検索を高速化します。存在する

PHP の Solr を使用した全文検索 PHP の Solr を使用した全文検索 Jun 20, 2023 am 09:12 AM

Solr は、全文検索の実装に使用できる Lucene ベースの検索エンジンです。全文検索に PHP で Solr を使用すると、キーワードを通じて関連データを迅速にクエリし、検索結果の精度と信頼性を向上させることができます。この記事では、PHP で Solr を使用して全文検索を行う方法を紹介します。 1. Solr のインストールと構成 まず、Solr と PHP の Solr 拡張機能をサーバーにインストールする必要があります。 Solr のインストール手順については、Solr の公式ドキュメントを参照してください。

PHP と Elasticsearch を使用して全文検索を迅速に実装する方法 PHP と Elasticsearch を使用して全文検索を迅速に実装する方法 Jul 17, 2023 pm 05:17 PM

PHP と Elasticsearch を使用して全文検索を迅速に実装する方法 最新のアプリケーションでは全文検索の重要性がますます高まっており、ユーザーが必要な情報をすばやく見つけられるようになります。 Elasticsearch は、高速かつ効率的な全文検索機能を提供する強力なオープンソース検索エンジンです。 PHP のパワーと Elasticsearch の柔軟性を組み合わせることで、全文検索機能を簡単に実装できます。この記事では、PHP と Elasticse の使用方法を説明します。

See all articles