pg_tokenizer
用于全文检索的分词器
仓库
supervc-stack/pg_tokenizer.rs
https://github.com/supervc-stack/pg_tokenizer.rs
源码
pg_tokenizer.rs-0.1.1.tar.gz
pg_tokenizer.rs-0.1.1.tar.gz
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pg_tokenizer | 0.1.1 | FTS | Apache-2.0 | Rust |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 2170 | pg_tokenizer | 否 | 是 | 是 | 是 | 否 | 否 | tokenizer_catalog |
| 相关扩展 | pgroonga pg_jieba pg_cjk_parser zhparser pg_bigm pg_tiktoken pg_tiktoken_c unaccent dict_xsyn dict_int hunspell_cs_cz pg_kazsearch |
|---|
PG18 fix by Vonng.
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.1.1 | 1817161514 | pg_tokenizer | - |
| RPM | PIGSTY | 0.1.1 | 1817161514 | pg_tokenizer_$v | - |
| DEB | PIGSTY | 0.1.1 | 1817161514 | postgresql-$v-pg-tokenizer | - |
构建
您可以使用 pig build 命令构建 pg_tokenizer 扩展的 RPM / DEB 包:
安装
您可以直接安装 pg_tokenizer 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
使用 pig 或者是 apt/yum/dnf 安装扩展:
安装
pig
dnf
apt
预加载配置:
创建扩展:
用法
来源:
pg_tokenizer 为搜索应用将文本转换成词元 ID,常与 VectorChord-BM25 配合使用。分词器由文本分析器和词汇模型组成。扩展要求共享预加载,并将 SQL 对象安装在固定的 tokenizer_catalog 模式中。
启用与分词
将库加入已有预加载列表并重启 PostgreSQL:
tokenize(text, text) 返回整数词元 ID,不是相关性分数,也不是每个词元一行。安装 BM25 伴随扩展后,可以将返回数组转换为其稀疏向量类型。
分析中文文本
Jieba 是 预分词器,不是名为 jieba 的内置词汇模型。应为语料创建文本分析器和自定义模型:
辅助函数从源列学习词汇,并创建触发器维护词元 ID。文档与查询应使用相同的分词器和模型。日文需要显式创建并配置词典的 Lindera 模型,不能直接套用其他分词接口中的裸模型名称。
对象与配置索引
create_tokenizer、drop_tokenizer、tokenize:管理和执行分词器。create_text_analyzer、apply_text_analyzer:执行字符过滤、预分词和词元过滤。create_custom_model_tokenizer_and_trigger、create_lindera_model、create_huggingface_model:创建语料模型或导入模型。create_stopwords、create_synonym:管理词典。- 内置模型包含
llmlingua2、bert_base_uncased、wiki_tocken和gemma2b。 - 0.1.1 新增
ngram词元过滤器,min_gram和max_gram范围为 1 到 255,preserve_original默认为 false。配置使用 TOML。
升级与缓存边界
替换预加载库后,应先重启 PostgreSQL,再更新数据库对象。0.1.0 到 0.1.1 的迁移没有新增 SQL 对象,行为变化在库文件中。文本分析器、模型及分词器按连接缓存,缓存不遵循事务隔离或回滚。回滚后若对象仍留在缓存中,可以重新连接或使用对应删除函数清理。扩展创建后不可重定位。它提供分词,排序及搜索索引由消费这些词元的扩展实现。
这个页面对您有帮助吗?
感谢反馈,我们会据此改进这篇文档。
哪里没有解决?(可选)