pg_cjk_parser
基于 PostgreSQL 默认解析器的中日韩二字组全文检索分词器
仓库
huangjimmy/pg_cjk_parser
https://github.com/huangjimmy/pg_cjk_parser
源码
pg_cjk_parser-0.1.0.tar.gz
pg_cjk_parser-0.1.0.tar.gz
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pg_cjk_parser | 0.1.0 | FTS | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 2230 | pg_cjk_parser | 否 | 是 | 否 | 是 | 否 | 是 | - |
| 相关扩展 | zhparser pg_jieba pg_bigm pgroonga pg_tokenizer pg_pinyin icu_ext unaccent pg_xenophile gb18030_2022 |
|---|
PGSTY applies a PG_CONFIG build-selection patch.
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.1.0 | 1817161514 | pg_cjk_parser | - |
| RPM | PIGSTY | 0.1.0 | 1817161514 | pg_cjk_parser_$v | - |
| DEB | PIGSTY | 0.1.0 | 1817161514 | postgresql-$v-pg-cjk-parser | - |
构建
您可以使用 pig build 命令构建 pg_cjk_parser 扩展的 RPM / DEB 包:
BASH
安装
您可以直接安装 pg_cjk_parser 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
BASH
使用 pig 或者是 apt/yum/dnf 安装扩展:
安装
BASH
pig
BASH
dnf
BASH
apt
BASH
创建扩展:
SQL
用法
来源:
pg_cjk_parser 是一个基于内置解析器的 PostgreSQL 全文搜索解析器。在 UTF-8 数据库中,它对非 CJK 文本保持默认行为,同时为中文、日文和韩文文本生成重叠的 2-gram 令牌。该扩展安装了解析支持函数;您需要创建使用这些函数的文本搜索解析器和配置。
核心工作流程
SQL
显式在生成的 tsvector 列和查询中使用此配置,或将其设置为会话默认值:
SQL
重要对象
prsd2_cjk_start,prsd2_cjk_nexttoken,prsd2_cjk_end,prsd2_cjk_lextype, 和prsd2_cjk_headline:用于CREATE TEXT SEARCH PARSER的支持函数。cjk_zht2zhs(text):将映射的传统中文字符转换为简体中文,而其他字符保持不变。- 解析器标记类型
cjk:生成重叠的 CJK 大二元组;CJK 标点符号作为单个单元格发出。
SQL
版本说明和注意事项
- v0.1.0 版本修复了
0.1.0在混合宽度 UTF-8 字符中的错误扫描,并正确处理四字节 CJK 代码点。 - 上游支持从 PostgreSQL 11 到 18 的版本。
- 数据库必须使用 UTF-8 编码以实现 CJK 大二元组行为。使用其他编码时,解析器的行为类似于 PostgreSQL 默认解析器。
- 创建文本搜索解析器需要高级权限。您需要分别决定映射、词典、停用词和排名;示例配置仅定义了解析器。
cjk_zht2zhs