MeCab Full-Text Parser Plugin のインストール

データベースMySQL

MeCab Parserプラグインのインストール

 状態:-  閲覧数:1,389  投稿日:2017-03-23  更新日:2017-03-23
前提
・MeCabパーサープラグインには、 mecabとmecab-ipadicが必要

MeCabパーサープラグインのインストール方法
・1.システム変数の設定(my.cnfファイルの編集)
・2.使用する辞書の指定(mecabrcファイルの編集)
・3.MySQLサーバー再起動
・4.MeCabパーサープラグインのインストール
・5.インストール後の確認

現状確認

 閲覧数:155 投稿日:2017-03-23 更新日:2017-03-23 
$ mecab -v
mecab of 0.996


$ less /etc/mecabrc
/etc/mecabrc: そのようなファイルやディレクトリはありません


$ sudo find / -name mecabrc
/usr/lib64/mysql/mecab/etc/mecabrc
/usr/local/etc/mecabrc
/home/★★/mecab-0.996/mecabrc



3つのmecabrc内容を確認


less /usr/lib64/mysql/mecab/etc/mecabrc
; Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
;
; This program is free software; you can redistribute it and/or modify it under
; the terms of the GNU General Public License as published by the Free Software
; Foundation; version 2 of the License.
;
; This program is distributed in the hope that it will be useful, but WITHOUT ANY
; WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License along with this
; program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth
; Floor, Boston, MA 02110-1301  USA
;
; Configuration file of MeCab
;
; We have three ipadics in /path/to/mysql/lib/mecab/dic:
; ipadic_euc-jp, ipadic_sjis, and ipadic_utf8.
; you can choose any of them or use your own one.
dicdir =  /path/to/mysql/lib/mecab/lib/mecab/dic/ipadic_euc-jp



less /usr/local/etc/mecabrc
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
dicdir =  /usr/local/lib/mecab/dic/ipadic

; userdic = /home/foo/bar/user.dic

; output-format-type = wakati
; input-buffer-size = 8192

; node-format = %m\n
; bos-format = %S\n
; eos-format = EOS\n


less /home/★★/mecab-0.996/mecabrc
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
dicdir =  /usr/local/lib/mecab/dic/ipadic

; userdic = /home/foo/bar/user.dic

; output-format-type = wakati
; input-buffer-size = 8192

; node-format = %m\n
; bos-format = %S\n
; eos-format = EOS\n


失敗 / パスが異なる

 閲覧数:165 投稿日:2017-03-23 更新日:2017-03-23 

1.システム変数の設定(my.cnfファイルの編集)


MySQL設定ファイルで、mecab_rc_fileの設定オプションを、MeCabの設定ファイルであるmecabrc設定ファイルの場所に設定

mecabrcファイルのパスを指定
・MySQLで配布されているMeCabパッケージを使用する場合

トークンの最小文字数を指定
・MeCabを使う時の推奨値は1 or 2 (デフォルト値は3)

編集
$ sudo vim /etc/my.cnf
[mysqld]
loose-mecab-rc-file=MYSQL_HOME/lib/mecab/etc/mecabrc
innodb_ft_min_token_size=1



2.使用する辞書の指定(mecabrcファイルの編集)


dicdirに使用したい辞書を指定
・既存の"dicdir="はコメントアウト

ipadic_utf-8
・utf8 と utf8mb4 をサポート

※MySQL 5.7のバイナリには、以下の辞書も同梱されている
・ipadic_euc-jp: ujis と eucjpms をサポート
・ipadic_sjis: sjis と cp932 をサポート

編集
$ sudo vi /usr/lib64/mysql/mecab/etc/mecabrc
; dicdir =  /path/to/mysql/lib/mecab/lib/mecab/dic/ipadic_euc-jp
dicdir=MYSQL_HOME/lib/mecab/dic/ipadic_utf-8



3.MySQLサーバー再起動


$ sudo service mysqld stop
mysqld を停止中:                                           [  OK  ]


$ sudo service mysqld start
mysqld を起動中:                                           [  OK  ]



4.MeCabパーサープラグインのインストール


MySQLサーバーにログイン
$ mysql -u root -p       
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 27
Server version: 5.7.17 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


以下のコマンドを実行し、 MeCabパーサープラグインをインストールする
mysql> INSTALL PLUGIN mecab SONAME 'libpluginmecab.so';
ERROR 1123 (HY000): Can't initialize function 'mecab'; Plugin initialization function failed.


成功 / パス修正

 閲覧数:205 投稿日:2017-03-23 更新日:2017-03-23 
$ ls -la /usr/lib64/mysql/mecab/dic/ipadic_utf-8
                                                                                                 
合計 51840
drwxr-xr-x 2 root root     4096  3月 13 18:13 2017 .
drwxr-xr-x 5 root root     4096  3月 13 18:13 2017 ..
-rw-r--r-- 1 root root   262496 10月 29 13:39 2016 char.bin
-rw-r--r-- 1 root root      693 10月 29 13:39 2016 dicrc
-rw-r--r-- 1 root root    55910 10月 29 13:39 2016 left-id.def
-rw-r--r-- 1 root root  3463716 10月 29 13:39 2016 matrix.bin
-rw-r--r-- 1 root root     1477 10月 29 13:39 2016 pos-id.def
-rw-r--r-- 1 root root     6241 10月 29 13:39 2016 rewrite.def
-rw-r--r-- 1 root root    55910 10月 29 13:39 2016 right-id.def
-rw-r--r-- 1 root root 49199027 10月 29 13:39 2016 sys.dic
-rw-r--r-- 1 root root     5690 10月 29 13:39 2016 unk.dic




1.システム変数の設定(my.cnfファイルの編集)


MySQL設定ファイルで、mecab_rc_fileの設定オプションを、MeCabの設定ファイルであるmecabrc設定ファイルの場所に設定

mecabrcファイルのパスを指定
・MySQLで配布されているMeCabパッケージを使用する場合

トークンの最小文字数を指定
・MeCabを使う時の推奨値は1 or 2 (デフォルト値は3)

編集
$ sudo vim /etc/my.cnf
[mysqld]
character-set-server=utf8mb4
loose-mecab-rc-file=/usr/lib64/mysql/mecab/etc/mecabrc
innodb_ft_min_token_size = 1



2.使用する辞書の指定(mecabrcファイルの編集)


dicdirに使用したい辞書を指定
・既存の"dicdir="はコメントアウト

ipadic_utf-8
・utf8 と utf8mb4 をサポート

※MySQL 5.7のバイナリには、以下の辞書も同梱されている
・ipadic_euc-jp: ujis と eucjpms をサポート
・ipadic_sjis: sjis と cp932 をサポート

編集
$ sudo vi /usr/lib64/mysql/mecab/etc/mecabrc
; dicdir =  /path/to/mysql/lib/mecab/lib/mecab/dic/ipadic_euc-jp
dicdir = /usr/lib64/mysql/mecab/dic/ipadic_utf-8



3.MySQLサーバー再起動


$ sudo service mysqld stop
mysqld を停止中:                                           [  OK  ]


$ sudo service mysqld start
mysqld を起動中:                                           [  OK  ]



4.MeCabパーサープラグインのインストール


MySQLサーバーにログイン
$ mysql -u root -p       
                                                                                                               
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 27
Server version: 5.7.17 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


以下のコマンドを実行し、 MeCabパーサープラグインをインストールする
mysql> INSTALL PLUGIN mecab SONAME 'libpluginmecab.so';
ERROR 1125 (HY000): Function 'mecab' already exists



5.インストール後の確認


mecabプラグインが有効になっていることを確認
mysql> SHOW PLUGINS;
+----------------------------+----------+--------------------+----------------------+---------+
| Name                       | Status   | Type               | Library              | License |
+----------------------------+----------+--------------------+----------------------+---------+
| binlog                     | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| mysql_native_password      | ACTIVE   | AUTHENTICATION     | NULL                 | GPL     |
| sha256_password            | ACTIVE   | AUTHENTICATION     | NULL                 | GPL     |
| PERFORMANCE_SCHEMA         | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| CSV                        | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| MyISAM                     | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| InnoDB                     | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| INNODB_TRX                 | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_LOCKS               | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_LOCK_WAITS          | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_CMP                 | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_CMP_RESET           | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_CMPMEM              | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_CMPMEM_RESET        | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_CMP_PER_INDEX       | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_CMP_PER_INDEX_RESET | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_BUFFER_PAGE         | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_BUFFER_PAGE_LRU     | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_BUFFER_POOL_STATS   | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_TEMP_TABLE_INFO     | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_METRICS             | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_FT_DEFAULT_STOPWORD | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_FT_DELETED          | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_FT_BEING_DELETED    | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_FT_CONFIG           | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_FT_INDEX_CACHE      | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_FT_INDEX_TABLE      | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_TABLES          | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_TABLESTATS      | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_INDEXES         | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_COLUMNS         | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_FIELDS          | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_FOREIGN         | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_FOREIGN_COLS    | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_TABLESPACES     | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_DATAFILES       | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_VIRTUAL         | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| MEMORY                     | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| MRG_MYISAM                 | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| FEDERATED                  | DISABLED | STORAGE ENGINE     | NULL                 | GPL     |
| ARCHIVE                    | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| BLACKHOLE                  | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| partition                  | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| ngram                      | ACTIVE   | FTPARSER           | NULL                 | GPL     |
| validate_password          | ACTIVE   | VALIDATE PASSWORD  | validate_password.so | GPL     |
| mecab                      | ACTIVE   | FTPARSER           | libpluginmecab.so    | GPL     |
+----------------------------+----------+--------------------+----------------------+---------+
46 rows in set (0.00 sec)


キャラクタセットが正しく設定されていることを確認
mysql> SHOW GLOBAL STATUS LIKE 'mecab_charset';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| mecab_charset | utf8 |
+---------------+-------+
1 row in set (0.00 sec)



MySQL5.7.17インストール / MySQL5.6.34 からのバージョンアップ対応 

Mroonga v7.01 インストール



週間人気ページランキング / 9-14 → 9-20
順位 ページタイトル抜粋 アクセス数
1 PHPのmb_send_mail関数でメール送信できない | メール処理システム 29
2 Nginx設定。エラーログレベル | Nginx(Webサーバ) 21
3 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 11
4 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 10
5 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 9
6 PHP Version 7.1.2 php-mecabエクステンション対応 / PHP 7.0.14 からのアップグレード  | MeCab(形態素解析) 8
6 ソースからビルドしたPython 2.7.3 アンインストール失敗 | Python(プログラミング言語) 8
7 touch コマンド / viコマンド。新規ファイル作成時の違い | Linuxコマンド 7
7 さくらVPS0 7
8 9回目-13.MySQL5.7.21設定 | CentOS 7 2週間無料のお試し期間 9回目(さくらVPS) 6
8 「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」対応 6
9 PHPファイルでchmodエラー | PHP(プログラミング言語) 5
9 設定 2019/1/22 / 一般ユーザがmailコマンドでメール送信 / 管理者がmailコマンドでメール送信 5
10 Postfix | メール処理システム 4
10 CentOSでcpコマンド動作確認するためには、Control + T ではなく、 -v オプションを使用 | cp(Linuxコマンド) 4
10 499 (Request has been forbidden by antivirus) | HTTP(通信プロトコル) 4
10 tar | Linuxコマンド 4
10 Python 3.6 インストール / make altinstall | Python(プログラミング言語) 4
10 「CentOS6」から「CentOS7」への移行 | CentOS 7 (CentOS) 4
10 echo と cat の違い 4
2021/9/21 1:01 更新