[Senna-dev 340] 部分一致検索について

アーカイブの一覧に戻る

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




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