由于想要建立全文搜索系统,所以我搭建了FESS环境
由于我想要搭建一个全文搜索系统,所以我搭建了一个Fess环境(1),并备份了该环境。在我使用的Bluemix IaaS上,创建服务器镜像可以作为备份。
在Fess的构建阶段,它已经将Elasticsearch集成其中,因此以开发模式启动。在生产环境中,您需要在与Fess相同的服务器上安装Elasticsearch,或者将其安装在另一台服务器上。这次我们选择在与Fess相同的服务器上安装Elasticsearch,使用localhost作为地址。
在防火墙中打开Elasticsearch端口。
为了使用Elasticsearch,即使在本地主机上运行,也需要打开端口。因此,将开放9200和9300端口。
# ufw allow 9200
# ufw allow 9300
安装适用于Elasticsearch和Fess的插件。
将Elasticsearch安装在与Fess相同的服务器上。
# wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
# echo "deb http://packages.elastic.co/elasticsearch/5.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-5.x.list
# apt-get update -y && apt-get install elasticsearch -y
# /etc/init.d/elasticsearch start
# /etc/init.d/elasticsearch status
如果 Elasticsearch 的版本不是 5.5.x,则安装 5.5.0 版本。
# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.deb
# dpkg -i elasticsearch-5.5.0.deb
# /etc/init.d/elasticsearch restart
# /etc/init.d/elasticsearch status
根据Fess的官方文档,在Elasticsearch中添加Fess扩展插件。
# /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-fess:5.5.0
# /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-ja:5.5.0
# /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-synonym:5.5.0
# /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-configsync:5.5.0
# /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-dataformat:5.5.0
# /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-langfield:5.5.0
# /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-minhash:5.5.0
# /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-kuromoji-neologd:5.5.0
我将在Elasticsearch的配置文件中进行追加。
# nano /etc/elasticsearch/elasticsearch.yml
下記を追記し、Ctrl+xキーを押し、yキーで保存します。
configsync.config_path: /var/lib/elasticsearch/config
script.engine.groovy.inline.update: on
我会在Fess的配置文件中添加用于使用Elasticsearch的设置。
# nano /usr/local/src/fess-11.3.1/bin/fess.in.sh
# External elasticsearch cluster 以下の3つについて先頭の#を外し、Elasticsearchの接続先を定義します。
Ctrl+xキーを押し、yキーで保存します。
# External elasticsearch cluster
ES_HTTP_URL=http://localhost:9200
ES_TRANSPORT_URL=localhost:9300
FESS_DICTIONARY_PATH=/var/lib/elasticsearch/config/
安装扩展插件后,将自动启动Elasticsearch并重新启动服务器。
# systemctl enable elasticsearch.service
# reboot
总结起来
为了将Fess投入实际运作,我们引入了Elasticsearch。虚拟服务器的内存配置为4GB。由于仅使用Elasticsearch,大约占用2GB的内存,因此需要保证8GB或更大内存的分配,以确保Fess的正常运行。