第12回 Elasticsearch 勉強会へ参加してきた。場所はいつものリクルートテクノロジーズさん。毎回会場が同じだと、移動時間の感覚が分かってくるのでありがたい。六本木駅から東京駅って、距離的には近いんだけど、直結経路が無いので乗り換えなどで、なにげに時間がかかってしまうのであった。
Elasticsearch 2.0 系には期待していて、自分でもちょっと先行して調べたことがある。
そういうわけなので、今回の発表は気になっていたのであった。
2.0 を使わない手は無いよなぁと思いつつ、1.7 系までとの非互換な部分があるので、多少の検証は必要そうだ。まぁ、でも、積極的に新しいものを使って行ったほうが幸せになれるプロダクトだと思うので、追いついていきたいところ。
Pipeline Aggregation などの機能面での進化も嬉しいけど、インデックスの圧縮などでデータサイズが小さくなったとか、対障害性が高くなったとかの運用面に関しての進化も良さそう。
クックパッドの社内ベンチャーで提供しているサービス「Holiday」で、Elasticsearch の位置情報検索をどのように利用しているかの発表。
基本的には Geo Distance Filter を利用して、「距離的に近い位置」を検索するとのことだが、そこに別の要素で重み付けをして、「使いやすい検索結果」を導き出しているそうだ。
例えば、検索ワードとの関連度や人気、価格などの要素を加えて、「距離的にはこっちの方が近いけど、検索ワードに近い方を優先表示する」などの結果表示をしているとのこと。
こういった「重み付け」には、Function Score Query を利用しているとのこと。
また、Gauss Function を用いて、検索結果のスコアについて調整を行なっているそうだ。このあたりはオレの知識が足りないので、「そういうものか」的にしか理解できなかった。
最後はクラウドファンディングの「Makuake」の事例。Makuake は「KKP(くるくるピ)」へ投資したので知っていたんだけど、これがサイバーエージェントのサービスだとは気がついていなかった。こっち方面もやってたのね。
Elasticsearch は比較的最近入れたとのこと。主にアプリケーションのエラーログやユーザーの属性や行動分析に利用し、更には営業成績の閲覧にも使っているとのこと。営業成績の閲覧は、Kibana のダッシュボードを用意し、それを直接見てもらっているそうだ。
また、プロジェクトの実行者(投資を集めている人)には、管理画面へアナリティクス機能を提供しており、そのバックエンドを Elasticsearch が担っているのだとか。ここは流石に Kibana を直接利用してもらうのではなく、独自にフロントエンドを作成しているそうだ。こういう使い方は良さそう。