Fessを作っていると、当然ながら、他の全文検索システムも気になります 🙂
というわけで、elastic社が作っているエンタープライズサーチのWorkplace Searchも試せるようなので試してみることにします。
インストール手順はここにあるようなので、その手順に沿って、試してみます。Docker見たいのはないようなので、Ubuntuにzipのやつをコマンド叩きながら入れてみます。(コピペしていけば起動までいけるような感じでまとめるので、細かいことはドキュメントを見るのが良いです…)
まずは、適当なディレクトリでelasticsearchをダウンロードして起動。
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-linux-x86_64.tar.gz $ tar zxvf elasticsearch-7.7.0-linux-x86_64.tar.gz $ cd elasticsearch-7.7.0/ $ echo "xpack.security.enabled: true" >> config/elasticsearch.yml $ ./bin/elasticsearch
という感じで、elasticsearchが起動します。elasticsearchにユーザーとか作る必要があるので、別のターミナルを開いて、elasticsearchのディレクトリに行き、
$ ./bin/elasticsearch-setup-passwords auto Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user. The passwords will be randomly generated and printed to the console. Please confirm that you would like to continue [y/N]y Changed password for user apm_system PASSWORD apm_system = ...略... Changed password for user kibana PASSWORD kibana = ...略... Changed password for user logstash_system PASSWORD logstash_system = ...略... Changed password for user beats_system PASSWORD beats_system = ...略... Changed password for user remote_monitoring_user PASSWORD remote_monitoring_user = ...略... Changed password for user elastic PASSWORD elastic = ...今回使うのはこれ...
という感じで、elasticユーザーとパスワードができます。次はWorkplace Searchをダウンロードして、設定して、起動します。
$ cd .. $ wget https://artifacts.elastic.co/downloads/enterprise-search/enterprise-search-7.7.0.tar.gz $ tar zxvf enterprise-search-7.7.0.tar.gz $ cd enterprise-search-7.7.0/ $ echo "ent_search.auth.source: standard" >> config/enterprise-search.yml $ echo "elasticsearch.username: elastic" >> config/enterprise-search.yml $ echo "elasticsearch.password: さっきのパスワード" >> config/enterprise-search.yml $ echo "allow_es_settings_modification: true" >> config/enterprise-search.yml $ echo "secret_management.encryption_keys: ["`openssl rand -hex 32`", "`openssl rand -hex 32`"]" >> config/enterprise-search.yml $ ENT_SEARCH_DEFAULT_PASSWORD=passwordexample bin/enterprise-search
とすると、しばらくすると起動が完了します。あとは、http://localhost:3002/にアクセスします。

Welcomeページが表示されます。Continue to Loginをクリックすると、ログイン画面が表示されます。

enterprise_searchユーザーで、起動時に指定したpasswordexampleをパスワードとしてログインできます。

という感じで表示されるので、Start a Free Trialを選ぶと、管理ページが表示されます。今どきのきれいなデザインですね。

検索対象に関しては、ソースを選んで登録するっぽいです。

その他にはグループやユーザー管理があります。


その他には設定関係とか。




あとは、今回、クロールする対象の準備ができなかったので、確認できてないですが、ソースの設定はこんな感じ。


という感じでした。
今回、クロールする対象が限られているので、準備して望まないと検索結果のところまで確認できなかったので、次回試すときには何かのソースを用意して検索までいきたいと思います。
で、話を戻して、Fessと比べると、Fessはもっと大きなところを対象にしていますが、エンタープライズサーチ観点ではかぶる領域もあるかと思います。クロール対象もFessでいうと、fess-ds-*のデータストアクロールとの比較になりますが、同じようなソースが存在している感じですね。ただ、Workplace Searchの方が設定画面がシンプルなので、この点は見習うべきところかもしれません…(まぁ、UI全般かもしれないけど)。
ということで、次回は検索側を確認したいと思います。