Solr勉強会第7回に参加しました。(発表もしました)(Jugemより移植)

Posted by johtani on Tuesday, December 20, 2011

目次

いつものようにSolr勉強会に参加してきました。 皆勤賞を継続中です。(暇人というはなしも。。。) 今回は話しを聞きたいですねぇといったら、いやいや、話もしてくださいと言われてしまったので、 発表もしてきました。 発表資料はブログの最後に掲載してあります。

日時:2011/12/19(月) 19:00~21:00 場所:Voyage Group 8階

1.Fessについて N2SM菅谷さん  資料:http://www.slideshare.net/shinsuke/solr-fess


 マルチコアで構成されてる。
 S2Robotでクロールしてますよ。
 ※ごめんなさい、あまり聞けなかった。。。あとで資料を読んで質問します!
2.lucene-gosenについて @johtani
 発表しました。

3.ApacheConに参加しました @Ijokarumawak  資料:http://www.slideshare.net/KojiKawamura/apache-con-2011report


 日本->カナダ->ベルリン->カナダ->日本
 50万円。。。
 キーノート1:
  セキュアな開発について。
 キーノート2:
  Hortonworksのコミュニティ運営大変だよねぇ、頑張るよという話。
 キーノート3:
 本題:Lucene 4.0の話:Simonさん
  ヨーロッパの方?
  PostingsFormatの話。
  Document内部の情報を使うためにどうする?
   StoredField:あんまり効率よくないね。
   FieldCache(on RAM):インデックス作る動作の逆を行う。これも効率よくないね。
   IndexDocValue:インデックス作成時に作られるので読み込み性能が100倍!(DocValue)
  Document Writer Per Thread!
  Automaton Query
   あいまい検索の処理に利用。
 Solr Flair
  Solr同梱
 Prism
  LucidImaginationが出してるJRubyのラッパー
  GitHubで公開されてるらしい。
 Blacklight
  RoR
  図書館むけのパッケージじゃなかったっけ?
 VUFind
  PHP
  これも図書館向け?
 TwigKit
  JSPのタグリブ
  おぉ。これ直接読んでるのかな?
 Ajax Solr
  Ajax用

 QA
  Q:TwigKit、Ajax Solrは直接Solrを呼んでるんですかね?
  A:たぶん、そうですね。JSPのはSolrJかもしれないですが。

4.サフィックスアレイの話 @nobu_k 資料:http://www.slideshare.net/nobu_k/suffix-arraysolr


 Suffix Arrayの話
 全文検索インデックスの話。
 Suffix Array=検索漏れがない。
 Suffix=接尾辞
 RedBullがどの文書に入っているか!
 SuffixArrayのメリット
  検索漏れがない=n-gramと同様
  仕組み上n-gramよりも早くなるケースが多い。
  長いクエリに対して速い
   THIS IS IT:全部ストップワード
 SuffixArrayのデメリット
  インデックス構築系
   アルゴリズムが難しい。
  メモリ上での構築はちょっとだけ楽(けど、簡単ではない)
   SAISなど。けど、これだとメモリがいっぱいないとキツイ
  HDDでの構築
   ランダムアクセスを排除したアルゴリズムが必要(dc3,dc7)
  インデックス更新、差分更新できない。
   頑張って1台100GB/day
  Sedueでは?
   SA&インメモリn-gramのハイブリッド
   更新分はn-gramに
   検索時にはn-gram+SAの内容をマージして出力
  検索
   二分探索はHDDとは相性が悪い。
    メモリ上で検索できればOKだけど、サイズが大きいからきびしい。
    圧縮接尾辞配列なら可能だけど、低速。。。
   SSDだとはやいよ!
    SSD対応のクラウドはまだないけど。。。
   Sedueでは最初の20段でキャッシュしてる。
 VSストップワード
  ストップワード込でインデックス作るみたい。
  1.SAを二分探索
  2.該当区間から出現位置をロード
  3.出現位置をソート
   O(n)だけど、CPUのキャッシュミスが激しく影響
  4.ソートした出現位置からヒット文書を求める。
   同じくキャッシュミスがやばい
  ・実際にはmallocした領域のページフォルトが一番やばい
 SAが超活躍する場面
  遺伝子の検索
   n-gramとか死ぬ。形態素解析も無理。区切りがわからんw

   5.P2P検索 ORBIS @ceeflyer 資料:http://www.slideshare.net/ceeflyer/p2p-search-engine-orbis


 ORBISとは?ラテン語で「目」
 ORBISとは?
  リアルタイム検索エンジン
  自律分散検索エンジン
 もともとはAmebaなうの検索のため
 ノード構成
  比較的小規模(~1000台)<=しょ、小規模ですか。すごいな。
  Master-Slaveの差がなし
  MessagePack利用
  フルメッシュネットワークを構築
 インデックス
  フィールド:
   Content(形態素解析対象)
   Appendix(形態素解析しない)
   Flag(属性)
  ハッシュレプリケーションで登録。近いハッシュ値に登録(レプリカ数を指定できるのかな?)
 単語に対して転置インデックスを一定数で固定
  投稿日時が新しいものだけ検索するため。
 検索:
  マージして結果を返す。
  壊れてたら取れたものだけ返す。

 QA:
  Q:ハッシュ値が大きくて1台しか選ばれないとかあるのでは?
  A:ハッシュ値は循環しているという形で3台とか選ぶ。
  Q:最大何台で稼働させてる?
  A:現在はまだ5台程度
  Q:障害時にレプリケーションの維持はするのか?
  A:現時点はしてない。
  Q;Cassandra、Lucendraとかあるけど、それをしなかった理由は?
  A:単純にConfigurationができるから、1から作った。

今回はSolr以外の話も聞けたのがとても面白かったです。 やはり、Solr以外の検索エンジンについても知見があると、色々と比較の話しとかしやすいので。 それにしても、一からP2Pの検索エンジンを作っているのにはびっくりしました。 他にもSuffixArray(Sedue)の話も気になっていたのが少し氷解したし、海外旅行のノウハウがApacheConの話で聞けたしw やはり、発表をすると話しをしてもらえるのもあって、いい機会だなと再認識しました。 今回も紹介ネタだったので、ちゃんと事例とか測定したものも発表できるようにならねばと。。。

ということで、私の発表資料はこちらになります。疑問点とか質問事項とか、指摘事項など、コメントorTwitterで連絡いただけるとすごく嬉しいです。

[Lucene gosenの紹介 solr勉強会第7回](http://www.slideshare.net/JunOhtani/lucene-gosen-solr7)**
View more [presentations](http://www.slideshare.net/) from [Jun Ohtani](http://www.slideshare.net/JunOhtani)

comments powered by Disqus

See Also by Hugo


Related by prelims-cli