[groonga-dev,02703] [ANN] Groonga 4.0.5

Back to archive index

Kouhei Sutou kou****@clear*****
2014年 8月 29日 (金) 13:45:44 JST


須藤です。

今日は肉の日ですね!

Groonga 4.0.5をリリースしました!
  http://groonga.org/ja/docs/news.html#release-4-0-5
  http://groonga.org/ja/blog/2014/08/29/release.html

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

リリースしたので次の作業の協力をお願いします!

  * Heroku用Groongaのビルド

○ 変更内容

今回の目玉は次の2つです。

  * キーワードハイライト関数の追加(実験的な機能扱い)
  * --queryでの近傍検索のサポート

キーワードハイライト関数は村上さんが作ってくれました!ありが
とうございます!

実際に追加された関数は次の2つです。詳細はドキュメントを見て
ください。(ドキュメントも村上さんが書いてくれました!)

  * hilight_html(): 対象テキストの中にあるキーワードを <span
    class="keyword">...</span> で囲みます。どのようにハイライ
    トするかはCSSで指定してください。通常はこの関数で十分で
    す。
    * http://groonga.org/ja/docs/reference/functions/highlight_html.html

  * hilight_full(): hilight_html() よりいろいろオプションを指
    定できるバージョンです。上級ユーザー向けです。
    * http://groonga.org/ja/docs/reference/functions/highlight_full.html

--queryでの近傍検索についてはまだドキュメントを更新していな
いので少し説明します。(--filterでの近傍検索はドキュメントが
あります。)

これまで、 スクリプト構文(selectの--filterで指定するときの書
式)では近傍検索できた(*)のですが、今回のリリースからクエリー
構文(selectの--queryで指定するときの書式)でもできるようにな
りました。

(*) http://groonga.org/ja/docs/reference/grn_expr/script_syntax.html#near-search-operator

通常の検索ではキーワードが文書中のどこかに含まれていればヒッ
トします。

例えば、次のクエリーを考えます。

  --query '渋谷 ラーメン'

この場合は、「渋谷でラーメンを食べた。」もヒットしますし、
「新宿でラーメンを食べた。その後、渋谷に行った。」もヒットし
ます。

フレーズ検索ではキーワードが指定した順番に出現していればヒッ
トします。

例えば、次のクエリーを考えます。このクエリーは「渋谷」、
「で」、「ラーメン」が順番に出現すればヒットします。

  --query '"渋谷 で ラーメン"'

この場合は、「渋谷でラーメンを食べた。」はヒットしますが、
「渋谷で味噌ラーメンを食べた。」はヒットしません。「で」と
「ラーメン」の間に「味噌」が入っているからです。

今回から --query でも指定できるようになった近傍検索は少し緩い
フレーズ検索のような挙動になります。キーワードの出現した順番
も大事ですが、キーワードの間にいくつか他のキーワードが入って
いてもヒットします。

例えば、次のクエリーを考えます。このクエリーは「渋谷」、「ラー
メン」が順番に出現すればヒットします。「渋谷」と「ラーメン」
の間に10個までなら他のキーワードが入っていてもヒットします。

  --query '*N"渋谷 ラーメン"'

この場合は、「渋谷でラーメンを食べた。」もヒットしますし、
「渋谷で味噌ラーメンを食べた。」もヒットします。「渋谷でラー
メン」は「渋谷」と「ラーメン」の間に「で」が入っていますが、
間に入っているキーワードが1個なのでヒットします。「渋谷で味噌
ラーメン」も「で」と「味噌」が入っていますが2個なのでヒットし
ます。

間に何個別のキーワードを許容するかは N の後に指定します。

次の例は1個まで間にキーワードを許容します。「渋谷でラーメン」
はヒットしますが、「渋谷で味噌ラーメン」はヒットしません。

  --query "*N1"渋谷 ラーメン"'

ぜひ試してみて自分のブログやQiitaなどに使い方をまとめてみてく
ださい!

○ イベントのお知らせ

9月は、次のGroonga関連イベントがあります。都合のつくGroongaユー
ザーのみなさんはぜひ参加してください!

  * ConoHa presents - Groonga "How-To" Talks
    http://groonga.doorkeeper.jp/events/12676

    * この勉強会のテーマは「How-To」です。参加者がGroongaの具
      体的な使い方を勉強できる会を目指します。Mroongaや
      RroongaなどGroonga関連プロジェクトも扱います。
    * 日時: 2014-09-03(水)19:30
    * 場所: GMOインターネットグループ シナジーカフェ GMO Yours


それでは、よい全文検索を!


-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/>

Groongaベースの全文検索システムを総合サポート:
  http://groonga.org/ja/support/
パッチ採用 - プログラミングが楽しい人向けの採用プロセス:
  http://www.clear-code.com/recruitment/
コードリーダー育成支援 - 自然とリーダブルコードを書くチームへ:
  http://www.clear-code.com/services/code-reader/




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