[Senna-dev 342] Re: 部分一致検索について

アーカイブの一覧に戻る

sibuya toru t_sibuy****@mards*****
2006年 9月 15日 (金) 18:41:51 JST


渋谷です。
詳しい説明をいただき、ありがとうございました。


----------
> http://qwik.jp/senna/query.htmlにあるとおり、
> 最初から全ての手法による検索を行う場合には、
> select PART_ID from REP_PART
>   where match(PART_WORD) against('*E-7提携' in boolean mode);
> というSQLを実行します。

----------
> 今回のケースであれば、
> N-gram方式でインデックスを作成したほうがよいと考えます。
> 
> テーブル作成の際に、
> 
>  create table REP_PART (
>    PART_ID          varchar(6),
>    PART_WORD        mediumtext,
>    primary key (PART_ID),
>    fulltext index using NGRAM (PART_WORD)
>  );
> 
> とすると、
> 「提携」という単語のヒット数がlike検索と一緒になると思います。


おっしゃるとおり、どちらの手法でも期待どおりの結果が
得られました。ありがとうございます。
とりあえずN-gram方式で対応しようと考えておりますが、
将来的にはインターフェスを工夫して、利用者側で
検索方法を選べるようにできればとも思っています。
多機能な senna に感謝します。

Windows版 MySQL 5.0.24a + Senna 0.8.1
もさっそくダウンロードさせていただきました。
今後ともよろしくお願いいたします。

---
Sibuya




Senna-dev メーリングリストの案内
アーカイブの一覧に戻る