読者です 読者をやめる 読者になる 読者になる

Trac + MySQL + Senna(Tritonn) その2

前回の続きです。
Tritonnは、MySQLにパッチを当てている形をとっているので、
Tritonnパッチ適用済みのMySQLを入れる方法をとります。

Tritonnダウンロードサイト

$ mkdir toritonn
$ wget ...でとってくる
# rpm -Uvh *

データベースの作成

# mysql
> CREATE DATABASE trac DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
> USE trac;
> CREATE USER tracuser IDENTIFIED BY 'password';
> GRANT ALL ON trac.* TO tracuser;

ためしに外部から接続してみる
問題なければ、Tracを入れる

$ trac-admin /your_trac_dir/test initenv
...
Database connection string [sqlite:db/trac.db]> mysql://tracuser:password@172.16.46.131/trac
...

Tracにアクセスしてみる

$ htpasswd -c .htpasswd kuma8
$ tracd -b 172.16.46.131 -p 8000 --basic-auth test,/your_htpasswd_file,test /home/your/your_test_dir/test


前回と同様に結果を確認できれば成功です。
Tracからの全文検索は、プラグインからがスマートっぽいので、試しに書いてみてます。

  db = self.env.get_db_cnx()
  cursor = db.cursor()
  cursor.execute("SELECT b FROM a where match(b) against('本')")
  for (b,) in cursor:
    print b

こんな感じに書けば、クエリは呼べますが


(例)
Tracのデータベースに、Tritonn用インデックスを作成する。

# mysql
> use trac;
> create fulltext index ft_wiki using mecab on wiki (name, text);
Query OK, 60 rows affected (2.01 sec)
Records: 60 Duplicates: 0 Warnings: 0
> create fulltext index ft_ticket using mecab on ticket (summary, description);
Query OK, 2 rows affected (0.02 sec)
Records: 2 Duplicates: 0 Warnings: 0
> create fulltext index ft_ticket_c using mecab on ticket_change (newvalue);


現在のポスト数 32 / 100