浙江华企做的网站怎么样,百度联盟网站怎么做,做网站赚钱吗 怎么赚,大连的网页设计公司主博客#xff1a;
【MySQL精通之路】全文搜索功能-CSDN博客 目录
1.介绍
2.安装MeCab Parser插件
3.创建使用MeCab分析器的FULLTEXT索引
4.MeCab Parser空间处理
5.MeCab分析程序停止字处理
6.MeCab Parser术语搜索
7.MeCab分析程序通配符搜索
8.MeCab语法分析器短语…主博客
【MySQL精通之路】全文搜索功能-CSDN博客 目录
1.介绍
2.安装MeCab Parser插件
3.创建使用MeCab分析器的FULLTEXT索引
4.MeCab Parser空间处理
5.MeCab分析程序停止字处理
6.MeCab Parser术语搜索
7.MeCab分析程序通配符搜索
8.MeCab语法分析器短语搜索
9.从二进制分布安装MeCab可选
10.从源安装MeCab可选 1.介绍
内置的MySQL全文解析器使用单词之间的空白作为分隔符来确定单词的开始和结束位置这在使用不使用单词分隔符的表意语言时是一个限制。为了解决这一限制MySQL提供了一个MeCab全文解析器插件。支持MeCab全文解析器插件与InnoDB和MyISAM一起使用。 MySQL还提供了一个支持中文、日语和朝鲜语CJK的ngram全文解析器插件。有关更多信息请参阅“ngram全文分析器”。 【MySQL精通之路】全文解析器-ngram-CSDN博客 MeCab全文解析器插件是一个用于日语的全文解析器插件它将文本序列标记为有意义的单词。例如MeCab标记化“データベース管理” “数据库管理”到“データベース” “数据库”和“管理” 经营相比之下ngram全文解析器将文本标记为n个字符的连续序列其中n表示1到10之间的数字。
除了将文本标记为有意义的单词外MeCab索引通常小于ngram索引并且MeCab全文搜索通常更快。一个缺点是与ngram全文解析器相比MeCab全文解析器可能需要更长的时间来标记文档。 第14.9节“全文搜索函数”中描述的全文搜索语法适用于MeCab解析器插件。本节将介绍解析行为的差异。与全文相关的配置选项也适用。 有关MeCab解析器的更多信息请参阅Github上的MeCab:另一个词性和形态分析器项目。
2.安装MeCab Parser插件
MeCab解析器插件需要MeCab和MeCab ipadic。
在受支持的Fedora、Debian和Ubuntu平台上除了Ubuntu 12.04其中系统mecab版本太旧如果安装到默认位置MySQL会动态链接到系统mecab安装。
在其他支持的类Unix平台上libmecab.so静态链接在libpluginmecab.so中后者位于MySQL插件目录中。
mecab ipadic包含在MySQL二进制文件中位于MySQL_HOME\lib\mecab中。
您可以使用本地包管理实用程序在Fedora、Debian和Ubuntu上安装mecab和mecab ipadic也可以从源代码构建mecab或mecab ipadic。 有关使用本机软件包管理实用程序安装mecab和mecab ipadic的信息请参阅9节二进制分发安装mecab可选。 如果要从源代码构建mecab和mecab ipadic请参阅10节源代码创建mecab可选。 在Windows上libmecab.dll位于MySQL bin目录中。mecab ipadic位于MYSQL_HOME/lib/mecab中。 要安装和配置MeCab解析器插件请执行以下步骤
1.在MySQL配置文件中将mecab_rc_file配置选项设置为mecabrc配置文件的位置该文件是mecab的配置文件。如果您使用的是与MySQL一起分发的MeCab包则mecabrc文件位于MySQL_HOME/lib/MeCab/etc/中。
[mysqld]
loose-mecab-rc-fileMYSQL_HOME/lib/mecab/etc/mecabrc
松散前缀是一个选项修饰符。在安装mecab解析器插件之前MySQL不会识别mecab_rc_file选项但在尝试安装mecab解析器插件之前必须设置该选项。松散前缀允许您重新启动MySQL而不会遇到由于无法识别的变量而导致的错误。
如果您使用自己的MeCab安装或从源代码构建MeCab则mecabrc配置文件的位置可能会有所不同。
有关MySQL配置文件及其位置的信息请参阅“使用配置文件”。
2.同样在MySQL配置文件中将最小令牌大小设置为1或2这是建议与MeCab解析器一起使用的值。对于InnoDB表最小令牌大小由InnoDB_ft_min_token_size配置选项定义默认值为3。对于MyISAM表最小令牌大小由ft_min_word_len定义其默认值为4。
[mysqld]
innodb_ft_min_token_size1
3.修改mecabrc配置文件以指定要使用的词典。与MySQL二进制文件一起分发的mecab ipadic包包括三个字典ipadic_euc-jp、ipadic_sjis和ipadic_utf-8。MySQL打包的mecabrc配置文件包含和条目类似于以下内容
dicdir /path/to/mysql/lib/mecab/lib/mecab/dic/ipadic_euc-jp 例如要使用ipadic_utf-8字典请按如下方式修改条目
dicdirMYSQL_HOME/lib/mecab/dic/ipadic_utf-8
如果您使用自己的MeCab安装或者从源代码构建了MeCab则mecabrc文件中的默认dicdir条目可能会有所不同字典及其位置也会有所不同。 注意 安装MeCab解析器插件后可以使用MeCab_charset状态变量查看MeCab使用的字符集。MySQL二进制文件提供的三个MeCab字典支持以下字符集。 ipadic_euc-jp字典支持uji和eucjpms字符集。 ipadic_sjis字典支持sjis和cp932字符集。 ipadic_utf-8字典支持utf8mb3和utf8mb4字符集。 mecab_charset只报告第一个支持的字符集。例如ipadic_utf-8字典同时支持utf8mb3和utf8mb4。当使用此词典时mecab_charset总是报告utf8。 4. 重启MySQL.
5.安装MeCab解析器插件
MeCab解析器插件是使用INSTALL plugin安装的。插件名称为mecab共享库名称为libpluginmecb.so。有关安装插件的更多信息请参阅“安装和卸载插件”。
INSTALL PLUGIN mecab SONAME libpluginmecab.so; 一旦安装MeCab解析器插件会在每次正常的MySQL重启时加载。
验证是否使用SHOW PLUGINS语句加载了MeCab解析器插件。
mysql SHOW PLUGINS;
mecab插件应该出现在插件列表中。 3.创建使用MeCab分析器的FULLTEXT索引
要创建使用mecab语法分析器的FULLTEXT索引请使用create TABLE、ALTER TABLE或create index指定WITH parser ngram。
此示例演示如何创建具有mecab FULLTEXT索引的表插入示例数据以及查看Information Schema INNODB_FT_INDEX_CACHE表中的标记化数据
mysql USE test;mysql CREATE TABLE articles (id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,title VARCHAR(200),body TEXT,FULLTEXT (title,body) WITH PARSER mecab) ENGINEInnoDB CHARACTER SET utf8mb4;mysql SET NAMES utf8mb4;mysql INSERT INTO articles (title,body) VALUES(データベース管理,このチュートリアルでは、私はどのようにデータベースを管理する方法を紹介します),(データベースアプリケーション開発,データベースアプリケーションを開発することを学ぶ);mysql SET GLOBAL innodb_ft_aux_tabletest/articles;mysql SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE ORDER BY doc_id, position;
若要向现有表添加FULLTEXT索引可以使用ALTER TABLE或CREATE INDEX。例如
CREATE TABLE articles (id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,title VARCHAR(200),body TEXT) ENGINEInnoDB CHARACTER SET utf8mb4;ALTER TABLE articles ADD FULLTEXT INDEX ft_index (title,body) WITH PARSER mecab;# Or:CREATE FULLTEXT INDEX ft_index ON articles (title,body) WITH PARSER mecab;
4.MeCab Parser空间处理
MeCab解析器在查询字符串中使用空格作为分隔符。例如MeCab解析器标记化
データベース管理 as データベース and 管理. 5.MeCab分析程序停止字处理
默认情况下MeCab解析器使用默认的停止语列表其中包含英文停止语的短列表。对于适用于日语的停止语列表您必须创建自己的列表。有关创建停止语列表的信息请参阅“全文停止语”。
6.MeCab Parser术语搜索
对于自然语言模式的搜索搜索词被转换为标记的并集。例如データベース管理 转换为データベース 管理.
SELECT COUNT(*) FROM articles WHERE MATCH(title,body) AGAINST(データベース管理 IN NATURAL LANGUAGE MODE); 对于布尔模式搜索搜索词将转换为搜索短语。例如データベース管理 转换为データベース 管理.
SELECT COUNT(*) FROM articles WHERE MATCH(title,body) AGAINST(データベース管理 IN BOOLEAN MODE);
7.MeCab分析程序通配符搜索
通配符搜索项未标记化。上的搜索データベース管理* 对前缀执行データベース管理.
SELECT COUNT(*) FROM articles WHERE MATCH(title,body) AGAINST(データベース* IN BOOLEAN MODE);
8.MeCab语法分析器短语搜索
短语被标记。例如データベース管理 标记为データベース 管理.
SELECT COUNT(*) FROM articles WHERE MATCH(title,body) AGAINST(データベース管理 IN BOOLEAN MODE);
9.从二进制分布安装MeCab可选
本节介绍如何使用本机包管理实用程序从二进制发行版安装mecab和mecab ipadic。例如在Fedora上您可以使用Yum执行安装
yum mecab-devel
在Debian或Ubuntu上您可以执行APT安装
apt-get install mecab
apt-get install mecab-ipadic
10.从源安装MeCab可选
如果你想从源代码构建mecab和mecab ipadic下面提供了基本的安装步骤。有关更多信息请参阅MeCab文档。 1.从下载适用于mecab和mecab ipadic的tar.gz软件包http://taku910.github.io/mecab/#download.截至2016年2月最新的可用软件包为mecab-0.996.tar.gz和mecab-ipadic-2.7.0-20070801.tar.gz。 2.安装mecab tar zxfv mecab-0.996.tar
cd mecab-0.996
./configure
make
make check
su
make install 3.安装mecab ipadic tar zxfv mecab-ipadic-2.7.0-20070801.tar
cd mecab-ipadic-2.7.0-20070801
./configure
make
su
make install 4.使用WITH_MECAB CMake选项编译MySQL。如果您已将MECAB和MECAB ipadic安装到默认位置请将WITH_MECAB选项设置为system。 -DWITH_MECABsystem 如果定义了自定义安装目录请将WITH_MECAB设置为自定义目录。例如 -DWITH_MECAB/path/to/mecab