EIP型グループウェア
INSUITE®v.3.1プロジェクトの裏側

プロジェクトの裏側


◇技術基盤を刷新することへの意気込み

INSUITEがEnterprise化されてから10年近くたちました。
当時最良の技術を採用していても時代の経過とともに陳腐化する部分があります。

検索エンジンで言えば、以前は検索スピードを上げるためにユーザ数などに応じてサーバ分割をして対応しており、キャッシュ活用、排他処理面を複雑にしていました。エンジニア自らサポートを行う中で、"危機感"は私たちが一番感じていたつもりです。

「検索エンジンの刷新」というテーマは、製品の垣根を越えて、久々に技術基盤そのものを考え直すプロジェクトになりました。

開発時期の違いから、「よりよいエンジンを採用する」意味で製品によって異なってしまっていた検索エンジンを、近々に統合し、開発強化もできる!と思うと、「プレ調査(ベンチマーク)」に始まり、検索エンジン自体を作るチーム、(ユーザの検索利用の観点から)製品機能を考えるチーム、性能検証を行うチーム、東京・広島・大連とロケーションを超えてそれぞれのメンバーも自然とディスカッションに熱がこもります。 


◇Luxorとは

Luxor(ルクソール)のイメージ図

Luxor(ルクソール)は、オープンソースの全文検索エンジンSolrをベースにドリーム・アーツが開発した検索エンジンです。INSUITE(製品)内に組み込み、直にそれぞれのインデックスを参照していた機能を完全に独立させました。

将来的には、Luxorを活用いただく対象を広げ、INSUITE以外のアプリケーションが取り扱う企業内の他のコンテンツについても一元的に検索することが可能になります。

ネーミングはメンバー全員で、覚えやすく語感のいいワードを…と考えましたが、結果一人の中核メンバーのアイデアにまとまりました。

音に鋭敏な中国人らしい発想で、Solr→Solar<太陽>の「全てを包み・照らすイメージ」と古代エジプト新王国時代に栄え、大きな城塞のあった「堅牢な都」(ギリシャ名ではテーベ)に擬えています。


◇一般的な検索エンジンと、企業内のコンテンツ・ナレッジを検索する機能の違い

両者は、「DBに登録された大量文書を高速に効率よく検索したい」「組合せでよく検索されているキーワードなどを"推奨"してみせたい」などの意味では共通です。 一方で、企業ユースでは、次のような特徴があります。

◇ドリーム・アーツが検索エンジンを創る意義

「企業ユース」であること、特に①や②が、ドリーム・アーツが取り組む意義だと考えました。今回のフェーズは「検索エンジンの刷新」第一弾としてINSUITEの検索エンジンをNamazuからLuxorへ移行するためのプラットフォーム側の対応を行いました。

これは従来RealNamazuと呼ばれる検索に関連する一連の機能を逐一Luxorに対応した形態に変えていく作業がメインになります。
該当箇所はNamazuの実装に合わせたレガシーな実装となっておりまた、INSUITEの殆どの機能に影響するため大変な作業でした。

今回のフェーズでは、統合検索などのインターフェースには、最終更新者や、最終更新日などでの絞り込み機能が追加されましたが、検索の手段が従来と大きく変わったわけではありません。

今後のフェーズでは、さらに使いやすい絞込み機能やINSUITE上の機能の分類を超えて、コンテンツを分類、検索する仕組みを検討しており、真のナレッジマネジメントの形を追及していきたいと考えています。


◇プロジェクトの過半は性能検証に

プロジェクトを進めてみて実感することでしたが、スケジュールの多くは性能検証に当てられました。大企業で活用いただいているINSUITEですから、実務に近い想定を置こうとすると必然的に生じる課題―環境構築とユニークデータを大量に投入すること―が本当に大変でした。「試算のための試算」にさせないためにも、ここは性能検証チームとしてこだわったつもりです。


◇エンジニアとしての密かな楽しみ

検討を行う過程で、Googleの最新のライブラリなどをベンチマークする機会がありました。エンタープライズ向けの安定した確実な技術を志向する我々ではありますが、やはりエンジニア魂は、最新・最先端の技術にはワクワクしますよね。

今後も少しでも私たちの製品づくりのヒントになる部分を探して、ベンチマークは続けていくつもりです。