[前][次][番号順一覧][スレッド一覧]

mysql:5383

From: <moeru@xxxxxxxxxx>
Date: Sun, 21 Apr 2002 11:13:39 +0900
Subject: [mysql 05383] Re: Full-text Search


2002/04/21 07:37:46 +0900に"KAWAI,Takanori" <GCD00051@xxxxxxxxxx>さんに頂いた
「[mysql 05381] Re: Full-text Search」への返事です。

モエルです。

みなさん、おはようございます。

>何を「単語」として見なすのか次第でしょうけれど、空白で
>区切られた単位を「単語」として検索対象とするのであれば、
>その単位に分割して、インデックスになるテーブルを自作すれば
>よいのでは?(元のレコードの識別子とその単語とか)
>#というか単純に正規化しても、そうなるような...。
>
>普通の日本語を検索対象とするとなると、KakasiやChaSenなどで
>単語に分割する必要があるでしょうけども。

KakasiやChaSenは、聞いたことも無かったので(^^;
調べてみます。


ただ、分割することは考えていました。

Full-text Searchがどういう挙動をするのか興味ありますが

>その単位に分割して、インデックスになるテーブルを自作する場合

どうしようかと思うのが
●データ入力してもらった際に全角スペースで入力された名前(商品名)と半角スペースのと2通りある。
●全角か半角スペースなどで区切られた名前(商品名)もある。

これらをどう区別するかって事なんです。

例えば、音楽などの英語のアーティスト名や曲名、ジャンル名。。。

これがタイトルに入っていた場合
Steve Lukather & Larry Carlton - Don't Give Up

id title
ってテーブルを作ったとして
この例だと、9個のデータが入ることになりますよね。
&や-などの記号は削ればいいのかな。。

で

Steve Lukather & Larry Carltonで完全一致で検索させると

WHERE title  = 'Steve' and  title  = 'Lukather' and title  = '&' and title  = 'Larry語'...
なんてゲリ長い句になりますよね。

今、titleの入ってるレコードは、1万程度なんですが
分解するとおそらくその20倍くらいになってしまいます。

やっぱ、全文一致だと
WHERE title  = 'Steve' and  title  = 'Lukather' and title  = '&' and title  = 'Larry語'...
で20万レコードから検索するほうが
WHERE like '%Steve Lukather & Larry Carlton%'
を1万レコードから検索するよりかは、全然速かったりするんでしょうか?


*これ、今後どっちにしても試そうと思っていたのですが
 もし、わかるようでしたら教えて下さいm(__)m


>この ML の過去ログシステム(w3ml)は、まさにそれ(like '%単語%')をやって
ます (^^;

そうなんですか。。
KakasiやChaSenも使ってるんですか?


># 「漢字文字の連続」というようなのなら抜き出せるでしょうけど…。

うちの場合、漢字文字の連続+上記のような英語になってしまいます。。

ちなみに、現在
title like '%単語1%' OR title like '%単語2%' OR title like '%単語3%'
なんて事をしていて
混雑時は、スロークエリのログに20秒以上のがざらになってます(^^;

混雑してないときは、速いです。


モエル

[前][次][番号順一覧][スレッド一覧]

      5375 2002-04-20 22:23 [<moeru@xxxxxxxxxx>  ] Full-text Search                        
      5376 2002-04-20 23:19 ┗[とみたまさひろ <tomm]                                       
      5377 2002-04-20 23:35  ┗[<moeru@xxxxxxxxxx>  ]                                     
      5378 2002-04-21 00:34   ┗[とみたまさひろ <tomm]                                   
      5379 2002-04-21 00:47    ┗[<moeru@xxxxxxxxxx>  ]                                 
      5381 2002-04-21 07:37     ┣["KAWAI,Takanori" <GC]                               
->    5383 2002-04-21 11:13     ┃┗[<moeru@xxxxxxxxxx>  ]                             
      5386 2002-04-21 23:19     ┃ ┗["KAWAI,Takanori" <GC]                           
      5387 2002-04-22 00:13     ┃  ┗[<moeru@xxxxxxxxxx>  ]                         
      5401 2002-04-25 11:06     ┃   ┗["KAWAI,Takanori" <GC]                       
      5403 2002-04-25 12:14     ┃    ┗[<moeru@xxxxxxxxxx>  ]                     
      5404 2002-04-25 14:10     ┃     ┣["KAWAI,Takanori" <GC]                   
      5407 2002-04-26 01:10     ┃     ┃┣[<moeru@xxxxxxxxxx>  ]                 
      5408 2002-04-26 07:44     ┃     ┃┃┗["KAWAI,Takanori" <GC]               
      5410 2002-04-26 09:47     ┃     ┃┃ ┗[<moeru@xxxxxxxxxx>  ]             
      5411 2002-04-26 10:52     ┃     ┃┃  ┣["KAWAI,Takanori" <GC]           
      5417 2002-04-27 00:22     ┃     ┃┃  ┃┣[<moeru@xxxxxxxxxx>  ]         
      5419 2002-04-27 12:30     ┃     ┃┃  ┃┗[Tatsuhiko Miyagawa <]         
      5421 2002-04-27 12:46     ┃     ┃┃  ┃ ┣["TOYOSHIMA, Masayuki]       
      5422 2002-04-27 13:06     ┃     ┃┃  ┃ ┃┣[Tatsuhiko Miyagawa <]     
      5423 2002-04-28 11:50     ┃     ┃┃  ┃ ┃┃┗["TOYOSHIMA, Masayuki]   
      5424 2002-04-28 18:36     ┃     ┃┃  ┃ ┃┗["KAWAI,Takanori" <GC]     
      5425 2002-04-28 18:50     ┃     ┃┃  ┃ ┗["KAWAI,Takanori" <GC]       
      5432 2002-05-05 14:58     ┃     ┃┃  ┃  ┗[<moeru@xxxxxxxxxx>  ]     
      5416 2002-04-26 20:20     ┃     ┃┃  ┗[Hidetoshi OKAWA <hid]           
      5420 2002-04-27 12:46     ┃     ┃┗[Tatsuhiko Miyagawa <]                 
      5405 2002-04-25 18:33     ┃     ┗[Hidetoshi OKAWA <hid]                   
      5382 2002-04-21 08:04     ┗[とみたまさひろ <tomm]