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/にアクセスします。
![](https://www.chazine.com/wp-content/uploads/2020/05/localhost_3002_welcome-1024x586.png)
Welcomeページが表示されます。Continue to Loginをクリックすると、ログイン画面が表示されます。
![](https://www.chazine.com/wp-content/uploads/2020/05/localhost_3002_login-1024x508.png)
enterprise_searchユーザーで、起動時に指定したpasswordexampleをパスワードとしてログインできます。
![](https://www.chazine.com/wp-content/uploads/2020/05/localhost_3002_ent_select-1024x789.png)
という感じで表示されるので、Start a Free Trialを選ぶと、管理ページが表示されます。今どきのきれいなデザインですね。
![](https://www.chazine.com/wp-content/uploads/2020/05/localhost_3002_ws-987x1024.png)
検索対象に関しては、ソースを選んで登録するっぽいです。
![](https://www.chazine.com/wp-content/uploads/2020/05/localhost_3002_ws_org_sources-1024x788.png)
その他にはグループやユーザー管理があります。
![](https://www.chazine.com/wp-content/uploads/2020/05/localhost_3002_ws_org_groups-1024x569.png)
![](https://www.chazine.com/wp-content/uploads/2020/05/localhost_3002_ws_org_accounts-1024x569.png)
その他には設定関係とか。
![](https://www.chazine.com/wp-content/uploads/2020/05/localhost_3002_ws_org_security_source_restrictions-1024x569.png)
![](https://www.chazine.com/wp-content/uploads/2020/05/localhost_3002_ws_org_settings-1024x569.png)
![](https://www.chazine.com/wp-content/uploads/2020/05/localhost_3002_ws_org_settings-1-1024x831.png)
![](https://www.chazine.com/wp-content/uploads/2020/05/localhost_3002_ws_org_settings-2-1024x831.png)
あとは、今回、クロールする対象の準備ができなかったので、確認できてないですが、ソースの設定はこんな感じ。
![](https://www.chazine.com/wp-content/uploads/2020/05/localhost_3002_ws_org_sources-1-1024x630.png)
![](https://www.chazine.com/wp-content/uploads/2020/05/localhost_3002_ws_org_sources-2-1024x630.png)
という感じでした。
今回、クロールする対象が限られているので、準備して望まないと検索結果のところまで確認できなかったので、次回試すときには何かのソースを用意して検索までいきたいと思います。
で、話を戻して、Fessと比べると、Fessはもっと大きなところを対象にしていますが、エンタープライズサーチ観点ではかぶる領域もあるかと思います。クロール対象もFessでいうと、fess-ds-*のデータストアクロールとの比較になりますが、同じようなソースが存在している感じですね。ただ、Workplace Searchの方が設定画面がシンプルなので、この点は見習うべきところかもしれません…(まぁ、UI全般かもしれないけど)。
ということで、次回は検索側を確認したいと思います。