安装说明
该文档介绍如何安装和配置 PanSearch。
程序主体介绍
├── config.yml
├── go-pansearch_linux_amd64_v0.1.0
└── templates
├── layouts
│ ├── footer.html
│ ├── header.html
│ └── navbar.html
├── pages
│ ├── doc.html
│ ├── error.html
│ ├── index.html
│ └── search.html
└── static
├── main.css
├── main.iife.js
└── utils.css
- config.yml: 程序配置文件
- go-pansearch_linux_amd64_v0.1.0: 程序主体文件(二进制)
- templates: 前端模板文件
配置详情
点击查看配置文件 config.yml 示例
app:
mode: release
port: 6655
host: true
cors:
allowCredentials: true
allowOrigin:
- http://localhost:*
- http://127.0.0.1:*
maxAge: 24h
db:
database: go-pansearch
dialect: mysql
host: 192.168.1.21
username: root
password: 123456
port: 3306
autoMigrate: true
es:
address: http://192.168.1.21:9200
diskIndex: "pansearch"
debug: false
indexAnalyzer: "ik_max_word"
searchAnalyzer: "ik_smart"
username: ""
password: ""
jwt:
secret: thisstringmustbeverylongandrandom
expire: 24h
issuer: neter
log:
format: text
level: info
linkName: current.log
path: ./logs
redis:
addr: 192.168.1.21:6379
db: 0
password: ""
配置说明
- app: 应用程序基本设置。
mode
: 运行模式,如release
用于生产环境。port
: 服务器监听端口,默认 6655。host
: 是否绑定到主机地址,true 表示绑定到所有接口。
除了端口,默认不用动。
- cors: 跨域资源共享设置。
allowCredentials
: 是否允许发送凭据。allowOrigin
: 允许的源地址列表,支持通配符。maxAge
: 预检请求缓存时间。
你需要将你的域名地址添加到
allowOrigin
列表中。
- db: 数据库配置。
database
: 数据库名称。dialect
: 数据库类型,如 mysql。host
: 数据库主机地址。username
: 数据库用户名。password
: 数据库密码。port
: 数据库端口。autoMigrate
: 是否自动迁移数据库结构。
请根据你的 MySQL 配置进行修改。
- es: Elasticsearch 配置。
address
: Elasticsearch 服务器地址。diskIndex
: 索引名称。debug
: 是否启用调试模式。indexAnalyzer
: 索引分析器,用于中文分词。searchAnalyzer
: 搜索分析器,用于中文分词。username
: Elasticsearch 用户名(可选)。password
: Elasticsearch 密码(可选)。
请根据你的 Elasticsearch 配置进行修改。必须安装
IK
分词插件或hao
分词插件以获得更好的中文支持。
- jwt: JSON Web Token 设置。
secret
: JWT 签名密钥,必须长且随机。expire
: Token 过期时间。issuer
: Token 发行者。
如果要修改登录过期时间,请修改
expire
。最大单位是h
,即小时。必须修改
secret
为一个长且随机的字符串。
- log: 日志配置。
format
: 日志格式,如 text。level
: 日志级别,如 info。linkName
: 日志文件链接名称。path
: 日志文件存储路径。
- redis: Redis 配置。
addr
: Redis 服务器地址和端口。db
: Redis 数据库编号。password
: Redis 密码(可选)。
请根据你的 Redis 配置进行修改。
用环境变量覆盖
你可以使用环境变量覆盖配置文件中的设置,环境变量格式为 PAN_<SECTION>_<KEY>
,例如:
更改端口:
export PAN_APP_PORT=8080
添加允许的跨域地址:
export PAN_CORS_ALLOWORIGIN=http://example.com http://another.com
从上可以看出,规则是:
- 所有字母大写
- 用下划线
_
替换点.
和连字符-
- 数组类型的值用空格分隔
一键安装MySQL和Elasticsearch
这里也是可以建议新手使用 docker compose
来一键安装 MySQL 和 Elasticsearch。
下载docker-compose.yml
、参考安装教程,点击:从零开始完整安装 ReMan
唯一不同的是:
PanSearch
多了一个templates
目录,但是这个目录只需要放置到和二进制文件、配置文件同级目录即可。
Elasticsearch 安装说明
程序支持elasticsearch 7.x 及 elasticsearch 8.x 版本
更多介绍请参考:Es安装介绍说明
主要想表达的是:要使ES支持中文搜索,必须安装IK
分词插件或hao
分词插件,然后这两个插件的版本必须和你的ES版本对应,否则会报错。
使用IK
分词插件时,配置文件中的indexAnalyzer
和searchAnalyzer
必须分别设置为ik_max_word
和ik_smart
。
es:
# ... other settings ...
indexAnalyzer: "ik_max_word"
searchAnalyzer: "ik_smart"
使用hao
分词插件时,配置文件中的indexAnalyzer
和searchAnalyzer
必须分别设置为hao_max_word
和hao_smart
。
es:
# ... other settings ...
indexAnalyzer: "hao_index_mode"
searchAnalyzer: "hao_search_mode"
MySQL 安装说明
更多介绍请参考:MySQL安装介绍说明