sibuya toru
t_sibuy****@mards*****
2006年 9月 15日 (金) 17:21:53 JST
初投稿です。渋谷と申します。 Windows版での部分一致検索についてですが。 -------- select PART_ID from REP_PART where PART_WORD like '%提携%'; -------- でヒットするレコードが、 -------- select PART_ID from REP_PART where match(PART_WORD) against('*提携*' in boolean mode); -------- ではヒットしないという状況で悩んでおります。 全てのレコードがヒットしない訳ではなく、 like 検索で140件のところ、 match against では134件しかヒットせず、 6件のモレが出ているという状況です。 モレのない検索を like より高速に実現できないかと sennaの導入を検討しているのですが、 部分一致検索のしかたが間違っているのでしょうか。 indexは、 -------- create table REP_PART ( PART_ID varchar(6), PART_WORD mediumtext, primary key (PART_ID), fulltext index (PART_WORD) ); -------- のかたちで作ってあります。 文字コードは UTF8 で、いくつかのキーワードで試して おりますが、他のキーワードでは問題なく、「提携」で この状況が発生しました。 ちなみに、レコードを insert する前処理で、「提携」を 半角スペースで挟んだかたちで置換してから insert する とOKでした。 宜しくお願いいたします。 --- Sibuya