[groonga-dev,04313] お礼:よろしくお願いします。

Back to archive index

toshio_uchiy****@mirro***** toshio_uchiy****@mirro*****
2017年 3月 31日 (金) 14:32:14 JST


林様

 お世話になります。内山と申します。
 親切な解説をありがとうございます。
望みがでてきましたね。期待しすぎないように注意します。
今後ともよろしくお願いします。

-----Original Message-----
From: groon****@lists*****
[mailto:groon****@lists*****] On Behalf Of Kentaro Hayashi
Sent: Friday, March 31, 2017 2:39 PM
To: groon****@lists*****
Subject: [groonga-dev,04311] Re: よろしくお願いします。

On Fri, 31 Mar 2017 11:18:29 +0900
Kentaro Hayashi <hayas****@clear*****> wrote:

>
> 林です。
>
>
> On Thu, 30 Mar 2017 14:59:59 +0900
> <toshio_uchiy****@mirro*****> wrote:
>
snip

> >  現在、漢字2文字だと早くて(わたくしの環境では、1ミリ秒以下)ローマ字5
文字
> > apple だと遅い
> > (わたくしの環境では、200ミリ秒程度)という傾向が見られます。
> >  できれば、200文字 x 5000万行(ローマ字、ひらがな、カタカナ、漢字が混
じって
> > いる)で
> > ローマ字の単語、ひらがなの単語、漢字の単語で検索した時に、どれも、1ミリ
秒を
> > 切って0.x ミリ秒
> > だと助かります。
> >  マシンは、Fujitsu TX1310 M1、メモリー 32GB(アドテックのサーバー用)、
HDD
> > WD 1TBミラーリング
> > (RAIDサーバー用 2 台)です。CPU は、Celeron G1820 です。
> >  アドバイスあれば助かります。よろしくお願いします。
>
> こちらについては、内山さんの環境で実際に試されないことにはなんとも言えませ
ん。。。
> 実際に試してみた結果こうだった、どうするといいでしょう?という疑問について
なら
> 識者からのアドバイスがもらえるかもしれません。

念のためもう少し補足をすると、現在pg_bigmを使っていてかわりにPGroongaを試し
てみよう
というのなら↑の状況が改善すると思います。

pg_bigmだと検索語句が2文字のケースでは(バイグラムなので2文字ごとの区切り)
インデックスを使って高速に検索できますが、それより長い文字列だと遅い傾向があ
ります。
appleを例にするとap - pp - pl - leとトークナイズして、かつそれらが隣り合って
いるか
並びのチェックもしないといけません。
しかし、pg_bigmは文字の出現位置の情報をもっていないので、隣り合っているかの
チェックを高速に行えません。

一方、PGroongaの場合、インデックスに文字の出現位置の情報も保持しているので
並びも高速にチェックできます。また、実はトークナイズの際PGroongaの
デフォルトではappleはap - pp - pl - leではなくappleとそのままトークナイズす
るので
インデックスの比較が少なくて済むようになっています。

というわけで、内山さんの環境でappleみたいなケースでも
1ミリ秒以下で検索できるのではないかと考えられます。

--
Kentaro Hayashi <hayas****@clear*****>




groonga-dev メーリングリストの案内
Back to archive index