Contents
  1. mecabのinstall
    1. mecab: installされたファイル
  2. Sennaのinstall
    1. senna: installされたファイル
  3. MySQLのinstall
    1. mysqlの起動
    2. mysqlのrootにパスワードを設定する
    3. メモ
  4. テスト
    1. テーブルを作成

Senna

mecabのinstall

% 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

% 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
  • なんか言ってくる。和訳がある。

要するに、下記のようなこと。

  1. /etc/hostsにホスト名ちゃんと書いとけよ。
  2. "debian-sys-maint"ていうユーザが作られるけど、消すなよ。
  3. rootにパスワード設定しとけよ。
  4. 詳しくは /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