Hatena::ブログ(Diary)

富士山は世界遺産 このページをアンテナに追加 RSSフィード Twitter

2011-11-30

全文検索エンジンgroongaを囲む夕べ2 参加のまとめ

gronnga勉強会「全文検索エンジンgroongaを囲む夕べ2」に行ってきましたのでまとめ。ツッコミ上等歓迎。

概要

2011-11-29(火) 19:00- VOYAGE GROUPさん (渋谷ファーストプレイス8F)

ハッシュタグ : #groonga

正直迷いましたので、10分遅刻(;;;

懇親会、、、出たかったけど、終電があるので出られませんでした(T_T

私の参加目的

社内で使ってるCRMシステム*1"B-Dash"の検索エンジンにgroongaを使ってるんですけど、こいつを良くしたいのでなんかいい話が無いかなー?という。

感想、得たこと

groonga自体はかなり安定している感じ。開発もすでに基礎から応用系になっている。

ってか、最近は位置情報検索、はやってるなー。PgSQLも、MongoDBもあるし。

全然別の視点ですけど、XYZ軸にアイテムをプロットして、位置情報検索を利用すれば、なんとなく一緒なモノを引っ張ってくる、とかそういう事ができるのではないだろうか。

まとめ

須藤氏@クリアコード セッション / groonga村

遅刻したので途中参加(すみません

知っての通り、Sennaの後継。

勉強会を聞くに当たっての基礎知識的なセッション

groonga(CLI)、rroonga(Rubyバインド)、mroonga(MySQL storage Engine)、nroonga(node.jsブリッジ(?))などの紹介。

<スライドURL待ち>

森氏@未来検索ブラジル セッション / 新年と収穫の祭り

索引の動的構築→登録即検索って、昔は異端だったらしい。

完全転置インデックスを動的にメンテナンスしていくのか、というのが実装ポイント。

とっても有用なドキュメントの紹介(書籍化の話も) → 検索エンジンはいかにして動くのか http://gihyo.jp/dev/serial/01/search-engine

●Roadmap

  • カラムストア性能強化
  • ファセット検索(分類検索。メタデータ)
  • ドリルダウン
  • 参照頻度をベースにしたインデックス圧縮
  • 類似文字列検索(編集距離、コサイン類似度)
  • 頻出パターン抽出
  • ストリーム処理機能(カラムストアの結果をダラダラと出すとか
  • スキーマレス(カーディナリティから適切な型を類推、、、とか)

<スライドURL待ち>

●質問タイムで出た質問:nroongaの存在意義って?

→ groongaって結構コネクション指向なんだけど(=対話的にいろいろ指示や結果をもらって更に指示を出せるって意味だと思う。)そういうのってHTTP的にはこれからの技術ならWebSocketとかになるじゃん。ゼロからやるより、node.jsとかでやれた方がいろいろ夢が広がるかなー。


Kentaro SHIBA セッション / mroonga

祝:mroonga 1.10リリース

featureはこれみて -> http://mroonga.github.com/ja/blog/2011/11/29/release.html

●mroonga動作モード

ストレージモード と ラッパーモード -> http://mroonga.github.com/ja/docs/userguide.html#usage-of-each-mode

●マルチカラムインデックス

できるけど、groongaコマンドなど、mroonga以外から更新をかけるとインデックス不整合になるんで、、、どうしろとw

●トークナイザーの指定

  • CREATE TABLE ... COMMENT='parser "TokenMecab"'
  • groonga_default_parser システム変数

どっちでもできるよ。

●rename tabel, alter tableに対応

groonga 1.2.8で積まれた機能を利用。

●Spider/VPストレージエンジン連携

スケール環境でも全文検索が可能(ただし、後述の「できないこと」にありますが、パラレル検索が未実装)

MariaDBデフォルトバンドル

個人的感想ですが、MariaDBはどうなのか。

<スライドURL待ち>

塩畑氏@ぐるなび セッション / 位置情報検索

未来検索ブラジルと2008年(Sennaの頃)から一緒に作り上げている

<後日update予定&スライドURL待ち>

●質問タイムで出た質問:インデックス壊れる事ってあります?

20qps/server * 3serversって環境でやってますが、トラブったことは無い。

ちなみに、3serversでのサービス方法は、3serversそれぞれに同じデータを配信(取り込み?)する、自社開発バックグラウンドプロセスがある。

奧野氏@フォルシア セッション / groonga with PostgreSQL

PgSQL 9.1からSQL/MED という仕組みでテーブルの拡張が可能となった。

MED -> Management of External DATA

●PGXN

CPANライクなPgSQL拡張リポジトリ

$ pgxn install tinyint
$ psql
psql> create extension tinyint;

-> coming soon!

●FDW

Foreign Data Wrapper -> ストレージエンジンに似てるもの

●PgSQLからgroongaを使うアプローチ

  • textsearch_groonga -> INDEX
  • groonga_fdw -> FDW

FDWは9.1から利用可能。SELECTのみだけどね。Oracleもサポートしているようだ。

須藤氏@クリアコード セッション / mroongaベンチマーク

ベンチマークと言っても、他のプロダクトとの比較では無く、InnoDBがーとかそういう話。

Kentaro SHIBA セッション / mroonga未サポート機能

要望の多いモノから順次というノリ。

矢田氏@未来検索ブラジル セッション / groonga開発予報

grn_dat (データ構造) の話。

grn_dat = 前方一致ができ、かつ参照時間に優れる

本来ダブル配列は参照ロックフリーでは無いが、それをなんとかしたところがすごい。

(ごめんなさい、ついていけませんでした)

あとがき

スタッフの方々、お疲れ様でしたー。

わかる範囲で書いてみましたが。。。よくわかっていないってことが、わかりました orz

*1:と呼ぶにはおこがましい

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/fujisan3776/20111130/1322614522
リンク元