RAKUS Developers Blog | ラクス エンジニアブログ

株式会社ラクスのITエンジニアによる技術ブログです。

全文検索の探求 〜 Elasticsearchとデータ匿名化手法

最近 RAKUS Meetup 関連の宣伝ばかりしている鈴木( @moomooya )です。今回はラクス開発部で実施している取り組みについて複数回にわたって紹介していければと思います。

ラクスの開発部ではこれまで社内で利用していなかった技術要素を自社の開発に適合するか検証し、ビジネス要求に対して迅速に応えられるようにそなえる発の来にせん手をうつプロジェクト(通称:かみせんプロジェクト)」というプロジェクトがあります。こちらのプロジェクトの成果について定期的に紹介していきたいと思います。

連載目次

今後投稿される記事にリンクを貼っていきます。


かみせんプロジェクトでは各チームから有志を募り、先述の課題解決を行う開発部横断プロジェクトとして2017年から運営されています。もちろん業務時間外での取り組みではなく、業務時間内での取り組みです(開発部の事業計画にもちゃんと記載されています)。

プロジェクト発足の理由

弊社も長くサービスを提供していますが、長く続くサービスにありがちなのが技術的な陳腐化。ありがたいことに商業的に成功を収めていますが、それゆえになおさら大きな変化を加えにくい状況になりつつあります。 とはいえ年々生産性の高いフレームワークやライブラリが出てくる中で、変化を避け続けていると競合他社からの追い上げに負けてしまいかねません。5年後、10年後にも優位性を保つためには今後どういったものを取り入れるべきなのかを模索する必要があるという判断により、かみせんプロジェクトが発足することになりました。

なお、かみせんプロジェクトについては以前に取材されたこちらの記事もご参照ください。
マイクロサービスへの挑戦、ラクスが考える技術的負債を返済する最適なタイミング - Qiita:Zine

今期の取り組み

かみせんプロジェクトでは一定期間ごとにテーマを変えて検証を進めていますが、今期2019年度上期は「検索エンジンを用いた全文検索」をテーマに進めています。

検索エンジンとしてはElasticsearchをターゲットに検証を進めています。Elasticsearch自体は2014年ごろから普及が進んでいましたが、弊社では活用ノウハウを貯めることができていませんでした。

スケーラブルな検索の仕組みは今後データ化される要素が増えて検索対象が大規模化していった際に必要になるものとして長期的な課題となっています。なのでまずは弊社で活用できそうな用途の検証が優先ですが、コンテナベースのクラスタでスケールが必要になった時の運用ノウハウ蓄積も行なっていこうと考えています。

Elasticsearchは全文検索以外にも、Elastic Stack(以前はELK Stackと呼ばれていました)で知られるように分散システムのログ収集、分析、可視化基盤として利用できることや、マッチング度合いをみることができる特徴から今後のサービス展開において応用できる範囲は広いだろうと考えています。

併せて検索の際に必要がないデータや分析に必要ない機微情報を排除し、無用なリスクを低減するためにデータを匿名化する手法も副次的なテーマとして今期の取り組みに含めています。 データがどの程度匿名化されているかを数値化する手法や、データを匿名化するための一般化手法のノウハウを蓄積し、今後ビッグデータを利活用する際にもデータを適切に扱えるようになることを期待しています。

今後、定期的に記事を投稿していきますのでよろしくお願いします。

連載目次

今後投稿される記事にリンクを貼っていきます。

Copyright © RAKUS Co., Ltd. All rights reserved.