[groonga-dev,01066] [ANN] groonga 2.0.8

Back to archive index

HAYASHI Kentaro hayas****@clear*****
2012年 10月 29日 (月) 11:19:11 JST


林です。


今日は肉の日ですね。
今回のリリースアナウンスには、来月開催するgroonga勉強会のお知らせがあります。

○ 全文検索エンジンgroongaを囲む夕べ 3開催のお知らせ

今年もgroonga勉強会「全文検索エンジンgroongaを囲む夕べ 3」を開催します。
  http://atnd.org/events/33070

会場: 株式会社VOYAGE GROUP 8Fセミナールーム
日時: 2012/11/29 (木) 19:00-21:00 (18:30開場、懇親会は21:00開始)
申し込み方法: ATNDのイベントページより先着150名(現在80名の方に申し込んでいだたいています)
             http://atnd.org/events/33070
懇親会: 参加・不参加について、ATNDでの参加登録の際のコメントか
       イベントページ(http://atnd.org/events/33070)下部のコメントにてご連絡ください

今回のgroonga勉強会では、ユーザさんがgroongaをどんな風に使っているか発表してもらう
ことを重視しています。

groongaはユーザーさんに助けられながら開発を続けています。
これまで、groongaを使ってくれるユーザーさんが増えるにつれ、
フィードバックなどの協力もより多く得られるようになりました。

そこで、もっとユーザーさんの意見を参考にしてgroongaを改善するため、
ユーザーさんがどのようにgroongaを使っているかを発表していただいて、
ユーザーさんや開発者がみんなで話す会にしたいと思っています。

groongaについてユーザーさんが改善してほしい点や便利だなーと思う点を、
開発者含めgroongaを使っている人たちみんなで話をして、
groongaがよりいい方向に進むための足がかりにしたいと考えています。

また、ユーザーさんや、groongaに興味があるけどまだ使ったことのない人がお互いにgroongaについて話すことで、
どのようにgroongaを使うのが自分にとって適切かを見つけられると考えています。

すでに4名の方から以下の内容で発表者として応募いただいています。

* こしばさん:
  web広告系システムでgroongaをどう使っているかの発表をしてくださいます!
* 和田さん: タイトル「nanapiにおけるmroonga活用事例」
  nanapiというサイトでgroongaやmroongaをどう使っているかの発表をしてくださいます!
* てみたさん:
  ニコ番というサービスでrroongaをどう使っているかの発表をしてくださいます!
* ongaeshiさん:
  Milkodeというソフトウェアでrroongaをどう使っているかの発表をしてくださいます!

発表していただける方をまだまだ募集しています。
応募の締切は11/04(日)23:59となっています。
発表者になると、懇親会参加費用が無料になる特典があります。

また、受付を手伝ってくださる方も募集しています。
(お手伝いいただける方ももちろん懇親会参加費用が無料です。)

勉強会、懇親会等の詳細は以下のATNDのイベントページを随時更新していますので、
そちらをご確認ください。
  http://atnd.org/events/33070

Twitterのgroongaアカウントでも随時ツイートしています。
  https://twitter.com/groonga

さて、勉強会のお知らせは以上です。
それでは、groonga 2.0.8についてお知らせします。

groonga 2.0.8をリリースしました!
groonga2.0.8はgroonga 2.xのメンテナンスリリースです。
  http://groonga.org/ja/docs/news.html#release-2-0-8

今回のリリースの主なトピックは2つあります。

* クエリ展開のプラグインによるカスタマイズのサポート
* Ubuntu 12.10 (Quantal Quetzal)をサポート

それぞれの環境毎のインストール方法はこちらを見てください。
  http://groonga.org/ja/docs/install.html

○ クエリ展開のプラグインによるカスタマイズのサポート

今回のリリースでは、実験的にクエリ展開をプラグインによりカスタマイズすることが
できるようになりました。

例えば同義語がいくつかあったときに、とある単語で検索したら、その同義語
でも一緒に検索してくれるとユーザーにとってより望ましい結果が得られることが
あります。
同義語に限らず、関連したキーワードでも似たようなことが言えます。

例えば、groonga,rroonga,mroongaは互いに関連したキーワードですが、
これを実現するには(groonga OR rroonga OR mroonga)というクエリを書く必要があります。

単純なクエリであれば問題になりませんが、条件が複雑になってくると
メンテナンスしにくくなってしまいます。

groongaではそういった検索を簡単に行えるようにクエリ展開を既にサポートして
います。

具体例で説明します。以下は説明のためのスキーマ定義とサンプルデータです。

  table_create Memos TABLE_NO_KEY
  column_create Memos content COLUMN_SCALAR ShortText
  table_create Lexicon TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram
  column_create Lexicon diary_content COLUMN_INDEX|WITH_POSITION Memos content
  table_create Synonyms TABLE_PAT_KEY ShortText
  column_create Synonyms words COLUMN_SCALAR ShortText

  load --table Memos
  [
  ["content"],
  ["Start groonga!"],
  ["Start mroonga!"],
  ["Start rroonga!"],
  ["Start Ruby!"],
  ["Learning Ruby and groonga..."],
  ]

  load --table Synonyms
  [
  ["_key", "words"],
  ["groonga", "(groonga OR rroonga OR mroonga)"]
  ]

Synonymsテーブルにあらかじめ登録しておいたgroongaというキーワードを用いて
関連キーワードをまとめてクエリ展開するには以下のように書きます。
Memosテーブルのcontentカラムに登録してあるテキストに対してgroongaというキーワードで
検索しようとしたときにrroongaやmroongaでもまとめて検索するクエリ展開を行う例です

  select --table Memos --query_expansion Synonyms.words \
    --match_columns content --query groonga

  [[0,1350898793.34538,0.00174403190612793],
   [
    [[4],
     [
      ["_id","UInt32"],["content","ShortText"]],
      [1,"Start groonga!"],
      [5,"Learning Ruby and groonga..."],
      [3,"Start rroonga!"],
      [2,"Start mroonga!"]
    ]
   ]
  ]

groongaだけでなくrroongaやmroongaも検索結果として取得できることが
わかります。

今回のプラグインによるカスタマイズのサポートでは、同義語のために
テーブルを作らずにタブ区切りのテキストファイル(synonyms.tsv)を指定することが
できるようになりました。

  key[TAB]synonym1[TAB]synonym2[TAB]...

例えば、groongaをクエリで指定したら、rroongaやmroongaも
まとめて検索できるようにするには以下のようなテキストファイルを記述します。

  groonga[TAB]groonga[TAB]rroonga[TAB]mroonga

実際にQueryExpanderTSVを使うにはクエリを以下のように変更します。

  > select --table Memos --query_expansion QueryExpanderTSV \
    --match_columns content --query groonga

すると--query groongaとすると実際に実行されるクエリとしては
以下と同等になります。

  --query "((groonga) OR (rroonga) OR (mroonga))" 

デフォルトでは/etc/groonga/synonyms.tsvに雛形となるテキストファイルをインストールします。
任意の場所に変更したい場合には、GRN_QUERY_EXPANDER_TSV_SYNONYMS_FILE
環境変数で別のファイルを指定することもできます。

○ Ubuntu 12.10 (Quantal Quetzal)のサポート

2012年10月18日に Ubuntu 12.10 (Quantal Quetzal) がリリースされました。

今回のリリースでは、早速 Ubuntu 12.10のパッケージを提供しています。

○ 変更点

さて、2.0.7からの変更点は以下の通りです。
  http://groonga.org/ja/docs/news.html#release-2-0-8

2.0.8リリース - 2012/10/29
--------------------------

改良

    * [rpm] server-httpとhttpdパッケージの説明を改善した。 [Daiki Uenoさんが提案]
    * [実験的] プラグインによるクエリ展開のカスタマイズをサポート。
    * [実験的] クエリ展開を行うQueryExpanderTSVプラグインを追加。
    * Ubuntu 12.10 Quantal Quetzalをサポート。
    * [実験的] クエリの output_columns で関数呼び出しをサポート。
    * クエリの output_columns で*による指定をサポート。
    * [doc][rpm] MeCab辞書のインストールについて説明を追加。 [serihiroさんが報告]

修正

    * [rpm] 不要な"Requires"をspecファイルから削除するようにした。[Daiki Uenoさんが報告]
    * groonga-server-gqtpパッケージのライセンス表記が不正確なのを修正した。
    * [admin] レコードの編集ボタンで誤ったレコードが表示されるのを修正した。 [GitHub#34] [firewoodさんが報告]
    * [deb] 不要なpcreパッケージへの依存を削除した。
    * [deb] パッケージに入っていなかったテーブルプラグインを添付するようにした。

感謝

    * うえのさん
    * firewoodさん
    * serihiroさん

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




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