Fess+外部Elasticsearch的Windows导入步骤
由于官方文档安装步骤难以理解且可能存在错误部分,因此我整理了改进后的步骤。
环境
-
- Windows 10
-
- JDK 11
-
- Fess 13.4.3
-
- Elasticsearch 7.4.2
plugin 7.4.0
Fess和Elasticsearch的版本兼容性要求在官方文档中明确指出,必须保持与“稳定版”完全一致。
我已确认在2019年12月10日时的最新版本环境下,可以通过相同的步骤安装Fess 13.3.2 / Elasticsearch 7.3.2 / plugin 7.3.0之前的版本。
Fess的引入
下载
在GitHub上下载Fess,并将其解压缩到任意目录中。
https://github.com/codelibs/fess/releases/tag/fess-13.4.3
弹性集群连接设置
在bin目录下有一个名为fess.in.bat的文件需要进行编辑。
使用适当的文本编辑器打开,在第121至123行有以下描述的内容。
REM External elasticsearch cluster
REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.es.http_address=http://localhost:9200
REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=%ES_HOME%/config/
将第122行的REM(注释)取消注释并保存。
REM External elasticsearch cluster
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.es.http_address=http://localhost:9200
REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=%ES_HOME%/config/
当时,如果解除第123行的注释,程序将无法正常运行。我认为直接删除也可以。另外,即使按照官方文档进行设置修改,例如像下面这样,同样无法正常工作。
REM External elasticsearch cluster
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.es.http_address=http://localhost:9200
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path="c:/elasticsearch-7.4.2/config/"
了解,Fess的设置到此结束。
引入Elasticsearch
下载
在官方网站上下载Elasticsearch。点击“WINDOWS”即可开始下载。此次将解压至C盘根目录。
https://www.elastic.co/jp/downloads/past-releases/elasticsearch-7-4-2
安装插件
在命令提示符中,逐行输入以下命令。除了minhash插件外,所有插件都将要求您进行安装确认。如果尝试批量执行,则会被视为拒绝,并且安装将无法完成。
c:/elasticsearch-7.4.2/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-fess:7.4.0
c:/elasticsearch-7.4.2/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-extension:7.4.0
c:/elasticsearch-7.4.2/bin/elasticsearch-plugin install org.codelibs:elasticsearch-configsync:7.4.0
c:/elasticsearch-7.4.2/bin/elasticsearch-plugin install org.codelibs:elasticsearch-dataformat:7.4.0
c:/elasticsearch-7.4.2/bin/elasticsearch-plugin install org.codelibs:elasticsearch-minhash:7.4.0
执行命令后会有以下输出。
-> Downloading org.codelibs:elasticsearch-analysis-fess:7.4.0 from maven central
[=================================================] 100%??
Warning: sha512 not found, falling back to sha1. This behavior is deprecated and will be removed in a future release. Please update the plugin to use a sha512 checksum.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: plugin requires additional permissions @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission accessDeclaredMembers
* java.lang.RuntimePermission getClassLoader
* java.lang.reflect.ReflectPermission suppressAccessChecks
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
Continue with installation? [y/N]
继续安装吗?如果被询问,请输入”y”并按下回车键即可完成安装。
添加设置
在config文件夹中编辑elasticsearch.yml文件。
使用文本编辑器打开文件,并添加以下文本。请注意,#表示注释,务必小心。建议将其添加到文件的最后一行。
configsync.config_path: c:/elasticsearch-7.4.2/config/
Elasticsearch的设置就是这样了。
启动和确认
启动必须按照Elasticsearch → Fess的顺序进行。
弹性搜索
在C:/elasticsearch-7.4.2/bin中找到elasticsearch.bat文件,双击打开进行启动。会显示终端窗口,并开始启动过程。如果一段时间后输出了以下类似的日志,则表示Elasticsearch已成功启动。
[2019-12-10T12:00:00,000][INFO ][o.e.n.Node ] [hoge] started
[2019-12-10T12:00:00,000][INFO ][o.e.c.r.a.AllocationService] [hoge] Cluster health status changed from [RED] to [GREEN] (reason: [shards started [[.configsync][0]] ...]).
[2019-12-10T12:00:00,000][INFO ][o.c.e.c.s.ConfigSyncService] [hoge] ConfigFileUpdater is started at 1m intervals.
我们在浏览器中进行确认。访问localhost:9200。然后,将显示以下形式的json格式结果。
{
"name" : "hoge",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "hogehoge",
"version" : {
"number" : "7.3.2",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "hogehoge",
"build_date" : "2019-12-10T12:00:00.000000Z",
"build_snapshot" : false,
"lucene_version" : "8.1.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
让我们检查一下插件的安装情况。访问http://localhost:9200/_cat/plugins?v&s=component&h=name,component,version,description&pretty,会显示以下 json 格式的结果。
name component version description
hoge analysis-extension 7.4.0 This plugin provides an analysis library.
hoge analysis-fess 7.4.0 FessAnalysis Plugin for Elasticsearch
hoge configsync 7.4.0 ConfigSync plugin syncs up with configuration files in .configsync index.
hoge dataformat 7.4.0 This plugin provides several response formats.
hoge minhash 7.4.0 This plugin provides b-bit minhash algorism.
Fess
点击两次 bin 文件夹中的 fess.bat 文件以启动。将会显示一个终端窗口。初次启动时,稍等片刻,等待 Elasticsearch 开始运行。
只需提供一种选择的中国语言版本:请访问 localhost:8080,如果页面显示成功,则表示操作成功。
最后
在官方文件中宣称可以在5分钟内轻松构建整体搜索服务器,但这似乎只适用于内置版本的Elasticsearch。当我们尝试引入外部的Elasticsearch时,我们不仅花费了无限的时间,而且还遭受了巨大的困难。
希望那些准备使用Fess + 外部Elasticsearch的人能够找到这篇文章,并且真正地在“5分钟内轻松构建”完毕,那将会让我非常高兴。