[groonga-dev,02998] Re: in_values()の除外指定?

Back to archive index

shinonon shino****@jcom*****
2014年 12月 2日 (火) 23:51:59 JST


篠田です。

On Tue, 02 Dec 2014 15:38:10 +0900 (JST)
Kouhei Sutou <kou****@clear*****> wrote:

> ほとんどのレコードがヒットするようなインデックス(= あまり効
> 果のないインデックス)を使うとき用の最適化が入っています。ほ
> とんどのメールがinboxに入っていて、それらにinboxというラベル
> をつけていて、inboxというラベルで検索するときに速くなる可能
> 性があります。

なるほど。in_values() の最適化はそういうものだったのですね。

> ます(できるはずです)。なので、まずは、
> "in_values(...) &! ... &! ..."で速度を確認してみてください。

了解しました。
まずはその形式を取り入れてみます。

> なるほど!
> こういうときは
> 
>   --filter 'all_records() &! attr @ "trash"'
> 
> というようにall_records()を使ってください!

こちらも了解しました。
貴重なアドバイスをいただき、ありがとうございました。

すみません。もう一つ聞きたいことがあるのですが、ドリルダウン結果をさらに
グルーピングしたいのですが、何かいい方法はありますでしょうか?

まだ機能の実装はしていないのですが、Bkroonga でメール検索した後に from 
でドリルダウンして、送信者ごとに絞り込みができるような機能を考えています。
現在のところメールのインデクシングは From ヘッダをそのまま格納しているの
で、例えば、
  shinonon <shino****@jcom*****>
  篠田 <shino****@jcom*****>
という 2つの From は、同じアドレスなのに別々にドリルダウンされてしまいま
す。これを回避するには、以下のような方法が考えられると思います。

  1. fromadrs という column を新たに作って、Fromアドレスだけを新たにイン
     デクシングする。
       →今までインデクシングしたメールを総なめして、新 column を新たに
         インデクシングし直さないといけない
  2. ドリルダウンした結果を自ら集計して、同じアドレスのものを自力でまと
     める
       →ドリルダウン結果が大量にある場合、自らの集計時間で Groonga の高
         速性を殺してしまう可能性がある。しかも実際に使用したいドリルダ
         ウン結果は多くてもトップ100くらいなのに、1件しかヒットしないド
         リルダウン結果まで取得しなければならない。

これくらいしか方法はないでしょうか?

# 現在は 3.の「別々にドリルダウンされてしまっても仕方ない」に傾きつつあ
  る自分がいます。。。。。


-- 
篠田 敦
shino****@jcom*****




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