Tetsuro IKEDA
ikdtt****@gmail*****
2008年 1月 7日 (月) 10:25:05 JST
池田です。あけましておめでとうございます。 今年もよろしくおねがいいたします。 08/01/04 に ICHII Takashi<ichii****@schwe*****> さんは書きました: > > いちいです。 > あけましておめでとうございます、今年もよろしくお願いします。 > > > ちょっとご意見募集です。 > > あまり流れを把握しないでの質問になってしまいますが、 いえいえ〜。ぜひぜひ。 > > ・senna_index_type、senna_normalize、senna_sectionalize、 > > senna_split_alpha、senna_split_digit、senna_split_symbol > > などのシステム変数を定義。USING句の代わりに、create/alter時に > > これらの値を見てSennaインデックスを作成する。 > > 今まで USING で指定していたような、テーブルとかカラムごとに > インデックスの種類を変えたい場合はどんなイメージになるのでしょうか? > (変えられなくなっちゃうんでしょうか??) Pluggabble Storage Engine側からMySQL本体のもつユーザインタフェース に追加できるのは今のところシステム変数とステータス変数のみになります。 ですので、USINGで指定できた内容は全てシステム変数化して、 CREATE INDEX時の変数の値に基づいてSennaのインデックスを 作成するという方法を考えています。 例えば、こんな感じです。 senna_index_type=[ngram|mecab|delimited] senna_normalize=[ON|OFF] senna_initial_n_segments=# senna_sectionalize=[ON|OFF] senna_split_alpha=[ON|OFF] ... これらはmy.cnfで値を上書きできる他、SETコマンドで 動的にSESSION別に値を設定できるようにする、 というようなことを考えています。 複数の異なる形式のインデックスをSQLバッチファイルで 作る場合には、上記変数に対してSETコマンドを 事前に発行して、、、という感じでしょうか。 set senna_index_type=mecab; create fulltext index ft on t1(c1); USINGに比べるとちょっと面倒になるのが不満です。 ただUSINGはパーサ拡張とSQLエンジン拡張なので、 ストレージエンジンに集約させると使えなくなります。。 > > 同じテーブルでもカラムでcharsetやcollationがちがったりして、 > たとえばstop wordとかを切り替えたりできるとうれしいなー、 > なんて思っています。 おぉ stop word!! このへんも考えて行きたいですねぇ。。 > > -- > ICHII Takashi > ichii****@schwe***** > > > From: "Tetsuro IKEDA" <ikdtt****@gmail*****> > Subject: [Tritonn-dev 66] Tritonnエンジン実装案 > Date: Tue, 25 Dec 2007 17:22:29 +0900 > > > こんにちは。池田です。 > > > > ちょっとご意見募集です。 > > > > MySQL 5.1でのTritonnエンジンは従来のものと異なり、 > > 以下の制約の元で実装する必要があります。 > > > > ・パーサの拡張は行えない。つまりUSING句によるsen_flags指定や > > initial_n_segmentsの指定ができなくなる。show senna statusも廃止。 > > ・オプティマイザや実行レイヤの拡張も行えない。つまり2ind機能も廃止。 > > > > 一方で、以下についてはTritonnエンジンでも積極的に利用できます。 > > > > ・独自のシステム変数を追加する。senna_index_typeとか。 > > > > またエンジンレベルでMyISAMとは別物になるので、以下の点を > > 気にする必要がなくなります。 > > > > ・インデックスがFULLTEXTの場合、ビルトインのFULLTEXTなのか > > SennaのFULLTEXTなのか。 > > > > これらを踏まえ、Tritonnエンジン実装に関しては以下のようなことを > > 思案しています。何かツッコミ、要望等あればコメント下さい。 > > > > ・ifdef ENABLE_SENNAは今後も使用する。あった方が便利そうなので。 > > ・インデックスがFULLTEXTの場合、無条件でSennaのインデックスが > > 利用されるものとして動作するようにする。 > > ・これによりtruncateなどのいくつかの制限を解除。 > > ・if(senna)による判定、分岐は不要に。 > > ・SEN_DISABLE_SENNA(USING NO SENNA)を廃止。 > > ・USINGによる拡張情報の定義を廃止。 > > ・senna_index_type、senna_normalize、senna_sectionalize、 > > senna_split_alpha、senna_split_digit、senna_split_symbol > > などのシステム変数を定義。USING句の代わりに、create/alter時に > > これらの値を見てSennaインデックスを作成する。 > > ・show senna statusの機能をshow tritonn engineコマンドで実装。 > > ・kwicはUDFに。 > > ・バージョン表記はMySQLのメジャーバージョンに追随させる。 > > > > _______________________________________________ > > Tritonn-dev mailing list > > Trito****@lists***** > > http://lists.sourceforge.jp/mailman/listinfo/tritonn-dev > > _______________________________________________ > Tritonn-dev mailing list > Trito****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/tritonn-dev >