unaccent

删除重音的文本搜索字典

概览

扩展包名版本分类许可证语言
unaccent1.1FUNCPostgreSQLC
ID扩展名BinLibLoadCreateTrustReloc模式
4990unaccent-
相关扩展pg_trgm fuzzystrmatch citext btree_gist btree_gin prefix dict_xsyn dict_int

版本

PG18PG17PG16PG15PG14
1.11.11.11.11.1

安装

提示:这是 PostgreSQL 内核自带的 contrib 扩展

CREATE EXTENSION unaccent;

用法

unaccent: 用于去除重音的全文搜索词典

去除文本中的重音符号(变音符号)。可用作全文搜索词典或独立函数。

CREATE EXTENSION unaccent;

函数

函数说明
unaccent(text)使用默认词典去除重音
unaccent(dictionary regdictionary, text)使用指定词典去除重音

全文搜索用法

-- 测试词典
SELECT ts_lexize('unaccent', 'Hôtel');
-- {Hotel}

-- 创建不区分重音的法语文本搜索配置
CREATE TEXT SEARCH CONFIGURATION fr (COPY = french);
ALTER TEXT SEARCH CONFIGURATION fr
  ALTER MAPPING FOR hword, hword_part, word
  WITH unaccent, french_stem;

SELECT to_tsvector('fr', 'Hôtels de la Mer');
-- 'hotel':1 'mer':4

-- 不区分重音的搜索
SELECT to_tsvector('fr', 'Hôtel de la Mer') @@ to_tsquery('fr', 'Hotels');
-- true

独立函数用法

SELECT unaccent('Hôtel');           -- Hotel
SELECT unaccent('café');            -- cafe
SELECT unaccent('résumé');          -- resume
SELECT unaccent('niño');            -- nino

最后修改 2026-03-12: update extension pages (f579993)