アクトインディ開発者ブログ

子供とお出かけ情報「いこーよ」を運営する、アクトインディ株式会社の開発者ブログです

Lucene/Solr勉強会 参加レポート

こんにちは!!こんにちは!! moriyamaです。
今回はLucene/Solr勉強会第22回に参加したので感想まとめのレポートです。


事例から見る検索アプリケーションのトレンド

Elasticsearchもそうですが、昨今は一重に「検索」と言っても目的のデータを探すだけでなく、
解析分野もカバーする事例が増えていますね。

Lucidworks社の事例紹介にありましたが、各種ログを収集分析して検索結果のチューニングをしたり、
既存データやドキュメントをSpark+Solrで解析して新たなサービス提供したりなど、
「検索」を解析分野に応用できると、「検索」の有用性がより高まるなと痛感しました。

また、Lucidworks社のソリューションでFusionというのがあるのですが、
全てk8s対応していると仰っていたので驚愕しました。

SolrCloudの新機能(SOLR-13101)と遺伝的アルゴリズムを使ったランキングチューニング - ACTIVATE 2019(旧 Lucene/Solr Revolution) より

まだMasterブランチにマージされていない、新機能(SOLR-13101)の説明がありました。
新しいレプリカタイプを追加し、インデックスファイルを共有ストレージに保管する機構にできる、というものでした。
最新のインデックスファイルが共有ストレージに保管されるので、
Solrのleaderノードの負荷が下がる事は間違いないのですが、
トランザクション範囲がめちゃくちゃ広がるのは困るなぁという所感です。

ただ、ノード追加自体はめちゃくちゃスムーズでシンプルになりますし、
ストレージからインデックスをDLできるので、不具合再現や負荷試験データ作成も容易になるため、
一考する価値あるなと感じています。

また、遺伝的アルゴリズム(GA)を使ったランキングチューニングの話もありました。
フレームワークを使ってパラメータ算出が高速に動作していたので、ちょっと触ろうという気になりました。

Mercari Item Search: Behind The Scenes

speakerdeck.com

新鮮な商品情報が重要なメルカリ独自のアーキテクチャ話で、たいへん参考になりました。
全商品のインデックス(All Index)と新着商品のインデックス(Recent Index)にわけて、
Nginx上のLua(OpenResty)で返却数に応じて追リクエストする仕組みだそうです。

鮮度と速度を求めるサービスだからこその知恵だなと感動しました。

Nginx上の小技はいこーよでも活かせそうなものが多かったので、すぐにでも実装しようと思います。


最後に

ちなみに本勉強会は今年で10周年を迎えたそうです。めでたい!

今回は時間の都合でセッションしか聞けなかったので、LTは記事にできませんでした(すみません)。
業務に繋がる話が大変多く、とても充実した勉強会でした。

Lucene/Solr勉強会で発表できるネタを作るためにも、もっといこーよを盛り上げていきたいです。


アクトインディでは仲間を募集中です!ぜひお気軽にご連絡ください! actindi.net