
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像基于zhparser扩展构建,为PostgreSQL数据库提供中文全文搜索能力。zhparser基于Xunsearch的SCWS(Simple Chinese Word Segmentation)分词引擎,是PostgreSQL中文全文搜索的常用解决方案,且持续维护更新。
参考PostgreSQL官方镜像文档,基础启动命令:
bashdocker run -p 5432:5432 chenxinaz/zhparser
首次启动容器时,默认数据库会自动执行基础配置。对于新创建的数据库,需手动执行以下SQL配置zhparser:
sql-- 创建zhparser扩展 CREATE EXTENSION zhparser; -- 创建文本搜索配置 CREATE TEXT SEARCH CONFIGURATION chinese_zh (PARSER = zhparser); -- 添加令牌类型映射(n:名词, v:动词, a:形容词等) ALTER TEXT SEARCH CONFIGURATION chinese_zh ADD MAPPING FOR n,v,a,i,e,l WITH simple;
配置说明
chinese_zh为自定义配置名称,可根据需求修改n,v,a,i,e,l为令牌类型,未映射的类型将不参与文本分词\dFp+ zhparser可查看zhparser支持的所有令牌类型验证分词效果:
sqlselect ts_debug('chinese_zh', '白垩纪是地球上海陆分布和生物界急剧变化、火山活动频繁的时代');
输出示例:
ts_debug ------------------------------------------- (t,time,白垩纪,{},,) (v,verb,是,{simple},simple,{是}) (n,noun,地球,{simple},simple,{地球}) (n,noun,上海,{simple},simple,{上海}) ...
生成文本向量:
sqlselect to_tsvector('chinese_zh', '白垩纪是地球上海陆分布和生物界急剧变化、火山活动频繁的时代');
输出示例:
to_tsvector -------------------------------------------------------------------------------------------- '上海':3 '分布':4 '变化':6 '地球':2 '时代':10 '是':1 '活动':8 '火山':7 '生物界':5 '频繁':9
注:若需包含"白垩纪",需添加时间类型映射:ALTER TEXT SEARCH CONFIGURATION chinese_zh ADD MAPPING FOR t WITH simple;
sql-- 向量与查询匹配测试 select to_tsquery('chinese_zh', '地球') @@ to_tsvector('chinese_zh', '白垩纪是地球上海陆分布和生物界急剧变化、火山活动频繁的时代');
输出:
?column? ---------- t
sqlcreate table testing( title text ); -- 插入测试数据 insert into testing values('白垩纪是地球上海陆分布和生物界急剧变化、火山活动频繁的时代'); insert into testing values('艾泽拉斯包括卡利姆多、东部王国两大大陆,暗夜精灵主城达纳苏斯位于东部王国北端。'); -- 创建GIN索引提升查询性能 create index ind_testing on testing using gin (to_tsvector('chinese_zh', title));
sql-- 搜索包含"白垩纪"的记录 select * from testing where to_tsquery('chinese_zh', '白垩纪') @@ to_tsvector('chinese_zh', title);
在容器内创建词典文件/usr/share/postgresql/9.6/tsearch_data/mydict.utf8.txt:
# 格式:词 TF IDF ATTR(TF/IDF/ATTR可省略) 艾泽拉斯 1 1 n 卡利姆多 1 1 n 达纳苏斯 1 1 n
修改PostgreSQL配置文件/var/lib/postgresql/data/postgresql.conf:
zhparser.extra_dicts = 'mydict.utf8.txt'
重启PostgreSQL服务使配置生效
XDB格式为二进制词典,性能优于TXT格式:
生成XDB词典:
bashcd /usr/share/postgresql/9.6/tsearch_data ldconfig # 解决库依赖问题 scws-gen-dict -c UTF8 mydict.utf8.txt mydict.utf8.xdb chown postgres:postgres mydict.utf8.xdb # 设置权限
更新配置文件:
bashsed -i 's/mydict\.utf8\.txt/mydict.utf8.xdb/' /var/lib/postgresql/data/postgresql.conf
重启PostgreSQL服务
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






来自真实用户的反馈,见证轩辕镜像的优质服务