diff --git a/部署PostGIS.md b/部署PostGIS.md index 0d32367..b0e84eb 100644 --- a/部署PostGIS.md +++ b/部署PostGIS.md @@ -124,29 +124,20 @@ docker build -t pgsql-gis-fts . ## 启用中文分词扩展 ```sql --- 创建扩展 CREATE EXTENSION IF NOT EXISTS zhparser; -``` -```sql --- 创建一个新的文本搜索配置 (命名为 chinese_mix) --- 基于内置的 simple 配置(它能很好地处理英文和标点) -CREATE TEXT SEARCH CONFIGURATION chinese_mix (COPY = simple); -``` +CREATE TEXT SEARCH CONFIGURATION chinese_mix (PARSER = zhparser); +-- DROP TEXT SEARCH CONFIGURATION IF EXISTS chinese_mix; -```sql --- 将中文分词器添加到该配置中 --- 这条命令的意思是:对于识别为中文名词、动词等的 token,使用 zhparser 进行分词 --- 其他类型(如英文单词、数字)继续使用原有的 simple 处理 -ALTER TEXT SEARCH CONFIGURATION chinese_mix ADD MAPPING FOR n,v,a,i,e,l WITH zhparser; +ALTER TEXT SEARCH CONFIGURATION chinese_mix + ADD MAPPING FOR n,v,a,i,e,l,d,j,m,q,r,t,u,w,x,z WITH zhparser; + +SELECT to_tsvector('chinese_mix', 'Hello world, 你好世界,PostgreSQL 很棒'); ``` ## 测试 ```sql --- 测试分词效果 -SELECT to_tsvector('chinese_mix', 'PostgreSQL 是一个强大的开源数据库,支持中文全文检索!'); --- 预期输出应该包含 'postgresql', '强大', '开源', '数据库', '支持', '中文', '全文', '检索' 等词 -- 创建测试表 CREATE TABLE articles (