Windows

Windows 环境下使用 Easysearch #

目前,有多种方案可以在 Windows 下体验 Easysearch。

前置要求 #

  • Windows 10 / Windows Server 2016 或更高版本
  • 至少 4 GB 可用内存
  • Easysearch 2.5.0 推荐使用 JDK 25,Bundle 包默认内置 JDK 25;JDK 21 仅用于兼容已有客户环境。详细要求见安装指南。

方案一:Docker 安装(推荐) #

如果您的 Windows 环境上有 Docker Desktop,可以用最简单的方式启动:

docker run -d --name easysearch `
  -p 9200:9200 `
  -e "EASYSEARCH_INITIAL_ADMIN_PASSWORD=EasysearchP@ssw0rd" `
  -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" `
  infinilabs/easysearch:latest

详细 Docker 配置请参考 Docker 环境下使用 Easysearch。

方案二:手工安装(无 HTTPS) #

由于 Windows 环境下默认没有 OpenSSL,生成证书不太方便。如果仅用于开发测试,可以先关闭安全模块快速体验。生产环境请务必启用安全功能(参见方案三)。

  1. 手工下载 Easysearch,解压到目标目录(如 D:\easysearch)。
  2. 手工下载 JDK 25,解压到 Easysearch 安装目录下,并将目录名称重命名为 jdk。

推荐下载 Bundle 包(2.5.0 默认内置 JDK 25),省去手动配置 JDK 的步骤。Bundle 包下载地址。

  1. 用记事本打开 config\easysearch.yml,修改配置:
# 关闭安全模块(仅开发测试,生产环境不建议)
security.enabled: false
  1. 双击运行 bin\easysearch.bat 或在命令行执行:
bin\easysearch.bat
  1. 验证安装:
# 在 PowerShell 中
Invoke-RestMethod -Uri "http://localhost:9200"

# 或在浏览器中打开 http://localhost:9200

方案三:通过 Git Bash 安装(支持 HTTPS) #

安装 Git for Windows,使用其内置的 Bash 环境来执行初始化脚本,可正常生成证书并启用 HTTPS。

由于 windows 环境下,Git Bash 自带的 curl 与 liunx 不兼容,可能会导致初始化脚本生成证书格式不匹配等兼容性问题,建议下载 curl for Windows ,并替换 Git Bash 自带的 curl。

注意:以下操作在 Git Bash 终端中执行。

  1. 下载 curl for Windows
# 下载并解压 [curl for Windows],假设解压后路径:/xxx/curl-xx/bin/curl.exe (具体路径请以本地环境为准)
# 执行 curl.exe 文件覆盖替换
sudo cp /xxx/curl-xx/bin/curl.exe /mingw64/bin/curl.exe
  1. 通过在线脚本安装 Easysearch
curl -sSL http://get.infini.cloud | bash -s -- -p easysearch -d /d/data/easysearch
  1. 下载并配置 JDK
# 下载 JDK 25
curl -# https://release.infinilabs.com/easysearch/jdk/25/graalvm-jdk-25_windows-x64_bin.zip -o /d/data/easysearch/jdk.zip

# 解压并重命名
cd /d/data/easysearch && unzip -q jdk.zip
mv graalvm* jdk

# 设置环境变量
export JAVA_HOME=/d/data/easysearch/jdk
  1. 初始化证书、密码及插件
bin/initialize.sh

初始化过程中会生成随机密码,只会在终端显示一次,请妥善保存。

  1. 运行 Easysearch
bin\easysearch.bat
  1. 验证安装
# 在 Git Bash 中(使用初始化时输出的密码)
curl -ku admin:YOUR_PASSWORD https://localhost:9200

常见问题 #

初始化脚本报错 #

执行初始化脚本 bin/initialize.sh 报错如下:

错误:找不到或无法加载主类 com.infinilabs.securlty.tools.Hasner
原因: java.lang.ClassNotFoundException: com.infinilabs.security.tools.Hasher

可能原因是本机系统自带的 curl.exe 与脚本生成证书的格式兼容问题。解决办法是下载最新版 curl for Windows 并替换 Git Bash 自带的 curl.exe (自带 curl 程序路径通常位于:/mingw64/bin/curl.exe)

端口被占用 #

如果 9200 端口被占用,可修改 config\easysearch.yml:

http.port: 9201

忘记 admin 密码 #

在 Git Bash 中运行:

cd /d/data/easysearch
bin/reset_admin_password.sh

内存不足 #

编辑 config\jvm.options,调小堆内存:

-Xms512m
-Xmx512m

延伸阅读 #