Contents
- mecabのinstall
- mecab: installされたファイル
- Sennaのinstall
- senna: installされたファイル
- MySQLのinstall
- mysqlの起動
- mysqlのrootにパスワードを設定する
- メモ
- テスト
- テーブルを作成
Senna
■mecabのinstall
- http://chasen.org/~taku/software/mecab/
- http://chasen.org/~taku/software/mecab/#download
- http://chasen.org/~taku/software/mecab/src/mecab-0.81.tar.gz
- http://dev.razil.jp/archive/
- mecabへのpatchファイルは4つあるが、20050423が最新のようだ。
- http://chasen.aist-nara.ac.jp/stable/ipadic/
- ipadicは2.7.0が最新だが、これだとmecabのcompileが途中でfailした。
% sudo apt-get install g++ % cd ~/work % wget http://chasen.org/~taku/software/mecab/src/mecab-0.81.tar.gz % tar zxf mecab-0.81.tar.gz % cd mecab-0.81/dic % wget http://chasen.aist-nara.ac.jp/stable/ipadic/ipadic-2.5.1.tar.gz % tar zxf ipadic-2.5.1.tar.gz % cd .. % wget http://dev.razil.jp/archive/mecab-0.81.mte.patch.20050423 % patch -p1 < mecab-0.81.mte.patch.20050423 % ./configure --enable-mutex --prefix=/usr % make % sudo make --no-print-directory install
mecab: installされたファイル
/usr/bin/install -c .libs/mecab /usr/bin/mecab /usr/bin/install -c .libs/mkmecabdic /usr/bin/mkmecabdic /usr/bin/install -c -m 644 mecab.h /usr/include/mecab.h /usr/bin/install -c -m 644 ./mecab.1 /usr/man/man1/mecab.1 /usr/bin/install -c -m 644 dic.csv /usr/lib/mecab/dic/ipadic/dic.csv /usr/bin/install -c -m 644 connect.csv /usr/lib/mecab/dic/ipadic/connect.csv /usr/bin/install -c -m 644 da.me /usr/lib/mecab/dic/ipadic/da.me /usr/bin/install -c -m 644 matrix.me /usr/lib/mecab/dic/ipadic/matrix.me /usr/bin/install -c -m 644 feature.me /usr/lib/mecab/dic/ipadic/feature.me /usr/bin/install -c -m 644 info.me /usr/lib/mecab/dic/ipadic/info.me /usr/bin/install -c -m 644 token.me /usr/lib/mecab/dic/ipadic/token.me /usr/bin/install -c -m 644 dicrc /usr/lib/mecab/dic/ipadic/dicrc /usr/bin/install -c mecab-config /usr/bin/mecab-config /usr/bin/install -c -m 644 mecabrc /usr/etc/mecabrc
■Sennaのinstall
- http://dev.razil.jp/archive/deb/
- Sennaはdebでいれられるっぽいが、今回は普通にmakeした。
% cd ~/work % wget http://dev.razil.jp/archive/senna/senna-20050814-svn.tar.gz % tar zxf senna-20050814-svn.tar.gz % cd senna % ./configure --prefix=/usr % make % sudo make --no-print-directory install
senna: installされたファイル
/usr/bin/install -c .libs/libsenna.so.0.0.0 /usr/lib/libsenna.so.0.0.0 /usr/bin/install -c .libs/libsenna.lai /usr/lib/libsenna.la /usr/bin/install -c .libs/libsenna.a /usr/lib/libsenna.a /usr/bin/install -c senna-cfg /usr/bin/senna-cfg /usr/bin/install -c -m 644 senna.h /usr/include/senna/senna.h
■MySQLのinstall
まず先に、apt-getでmysql-serverをいれておく。
% sudo apt-get install mysql-server
- libdbd-mysql-perl libdbi-perl libmysqlclient12 libmysqlclient14 libnet-daemon-perl libplrpc-perl mysql-client mysql-common
- Suggested packages: dbishell libcompress-zlib-perl mysql-doc
- Recommended packages: libmysqlclient14-dev
- なんか言ってくる。和訳がある。
要するに、下記のようなこと。
- /etc/hostsにホスト名ちゃんと書いとけよ。
- "debian-sys-maint"ていうユーザが作られるけど、消すなよ。
- rootにパスワード設定しとけよ。
- 詳しくは /usr/share/doc/mysql-server/README.Debian 読めよ。
自動的にmysqlというuser, groupが作られるので確認。 uid, gidが違ってても気にしないこと。
- /etc/passwd
mysql:x:105:107:MySQL Server,,,:/var/lib/mysql:/bin/false
- /etc/group
mysql:x:107:
開始したばかりだが、停止させておく。
% sudo /etc/init.d/mysql stop
installを開始しよう。
% sudo apt-get install autoconf libncurses5-dev % cd ~/work % wget ftp://ftp.u-aizu.ac.jp/ftp/pub/dbms/mysql/mysql.com/Downloads/MySQL-4.0/mysql-4.0.24.tar.gz % tar zxf mysql-4.0.24.tar.gz % cd mysql-4.0.24 % patch -p1 < ../senna/bindings/mysql/mysql-4.0.24.senna.diff % autoconf % setenv CFLAGS "-O3 -mpentiumpro" % setenv CXX gcc % setenv CXXFLAGS "-O3 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti" % ./configure --prefix=/usr --with-extra-charsets=complex --with-charset=ujis --enable-thread-safe-client --enable-local-infile --enable-assembler --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-mysqld-user=mysql --localstatedir=/var/lib/mysql --with-unix-socket-path=/var/lib/mysql/mysql.sock % touch ./Docs/Images/cluster-components-1.txt % touch ./Docs/Images/multi-comp-1.txt % touch ./Docs/errmsg-table.texi % touch ./Docs/cl-errmsg-table.texi % make % sudo make --no-print-directory install % sudo ./scripts/mysql_install_db % sudo cp support-files/my-medium.cnf /etc/my.cnf
mysqlの起動
% sudo /etc/init.d/mysql stop % sudo mysqld_safe
mysqlのrootにパスワードを設定する
% mysqladmin -u root password NEW_PASSWORD →NEW_PASSWORDには、実際に設定するパスワードを入力。 % mysqladmin -u root -p reload Enter password: →今設定したパスワードを入力。
メモ
% mysqlshow -u root -p →データベース一覧表示
% mysqladmin -u root -p create DBNAME →データベースの追加
% mysqladmin -u root -p drop DBNAME →データベースの削除
% mysql -u root -p db_name →MySQLへログイン
% mysqladmin -u root -p password new_password →パスワード変更(root)
mysql> INSERT INTO user VALUES('localhost','mt',Password('xxx'),'Y','Y','Y','Y','Y','N','N','N','N','N','N','N','N','N'); →データベースにレコードの追加(例:ユーザ追加)■テスト
テーブルを作成
まずは、MySQL monitorを起動する。
% mysql -u root -p Enter password: →パスワードを入力。
あとは、直接入力していくことができる。
create database sennatest; use sennatest create table articles( id int unsigned not null auto_increment primary key, body text, fulltext(body) );
データを入力する。 まず、下記の内容をファイルに落す。
% cat > tmp use sennatest; insert into articles values (null,"郵貯民営化は重要な問題だと思う "), (null,"スローライフを志向するiPodの強み - CNET Japan"), (null,"HTML, CSS, Photoshopを同時に学べるサンプル付きデザイン記事:Goodpic"), (null,"jazzanovaの日記 - 現在顧問弁護士に相談中であり、対応についても検討中"), (null,"mixi非公式ニュースサイト - mixiの問題人物Kusakabe氏、強制退会に?"), (null,"むだづかいにっき♂:ネット上で議論を仕掛ける事について"), (null,"はてな perl ハッカーの方々にお聞きします。近頃ますます良い感じなperlですが、どのような開発環境で開発していますでしょうか。"), (null,"シナトラ千代子 - 投げ銭が飛び交うなかでダイアリーに立てこもる、という意味。"), (null,"Going My Way: Skypeの会話をPodcast用に録音する場合の設定方法"), (null,"Kusakabeさんがmixiの一部?を賑わしている。彼にmixi強制退会が言い渡されたのだ。"), (null,"Ringo's Weblog: googleと競合しない方法2 "), (null,"Moleskin Diary - 投げ銭よりたれ銭"), (null,"第38回 海外メディアが伝えた小泉・郵政解散劇の評判 - nikkeibp.jp - 立花隆の「メディア ソシオ-ポリティクス」"), (null,"ほその日記 - フォームが変更された事を知る"), (null,"総選挙はてなと公職選挙法:北海道に住む国家公務員日記 "), (null,"はてな、政党を株式に見立てて総選挙結果を予測 - CNET Japan"); % more tmp →確認する % mysql -u root -p < tmp
実際に検索をしてみる。
% mysql -u root -p
use sennatest;
select * from articles where match (body) against ('perl');
select * from articles where match (body) against ('Japan');
ふむふむ。英語だとちゃんとでてきます。 日本語で検索してみよう。
% cat > search
use sennatest;
select * from articles where match (body) against ('はてな');
% more search →確認する
% mysql -u root -p < searchちゃんとサーチできてますよ! やったね!
Last modified: 2006-09-05