Trac + MySQL + Senna(Tritonn) その2
前回の続きです。
Tritonnは、MySQLにパッチを当てている形をとっているので、
Tritonnパッチ適用済みのMySQLを入れる方法をとります。
データベースの作成
# 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