# F.45.不合适的
不合适的
是一个文本搜索词典,可以从词素中删除重音(变音符号)。它是一个过滤字典,这意味着它的输出总是传递给下一个字典(如果有),这与字典的正常行为不同。这允许对全文搜索进行不区分重音的处理。
当前实施的不合适的
无法用作的规范化词典同义词词典
词典
该模块被认为是“受信任的”,也就是说,它可以由拥有创造
当前数据库的权限。
# F.45.1.配置
一不合适的
dictionary接受以下选项:
规则
包含翻译规则列表的文件的基本名称。此文件必须存储在$SHAREDIR/tsearch_数据/
(在哪里$SHAREDIR
指PostgreSQL安装的共享数据目录)。它的名字必须以.规则
(不包括在规则
参数)。规则文件的格式如下:
每行代表一条翻译规则,由一个带重音的字符后跟一个不带重音的字符组成。第一个被翻译成第二个。例如
À A Á A Â A Ã A Ä A Å A Æ AE
这两个字符必须用空格分隔,一行中的任何前导或尾随空格都将被忽略。
或者,如果一行中只给出一个字符,则删除该字符的实例;这在口音由单独字符表示的语言中很有用。
实际上,每个“字符”可以是任何不包含空格的字符串,所以
不合适的
字典可以用于除变音符号删除之外的其他类型的替换。与其他PostgreSQL文本搜索配置文件一样,规则文件必须以UTF-8编码存储。加载时,数据会自动转换为当前数据库的编码。任何包含不可翻译字符的行都会被静默忽略,因此规则文件可以包含不适用于当前编码的规则。
一个对大多数欧洲语言直接有用的更完整的例子可以在
不同意。规则
,安装在$SHAREDIR/tsearch_数据/
当不合适的
模块已安装。该规则文件将带重音的字符转换为不带重音的相同字符,并将连字扩展为等效的简单字符序列(例如,Æ到AE)。
# F.45.2.用法
安装不合适的
扩展创建文本搜索模板不合适的
还有一本字典不合适的
基于此。这个不合适的
dictionary具有默认参数设置规则“未被允许”
,这使得它可以立即与标准一起使用不同意。规则
文件例如,如果愿意,可以更改参数
mydb=# ALTER TEXT SEARCH DICTIONARY unaccent (RULES='my_rules');
或者根据模板创建新词典。
要测试字典,您可以尝试:
mydb=# select ts_lexize('unaccent','Hôtel');
ts_lexize
### F.45.3. Functions
The `unaccent()` function removes accents (diacritic signs) from a given string. Basically, it's a wrapper around `unaccent`-type dictionaries, but it can be used outside normal text search contexts.
[]()
不合适的([字典,,]字符串文本)返回文本
If the *`dictionary`* argument is omitted, the text search dictionary named `unaccent` and appearing in the same schema as the `unaccent()` function itself is used.
For example:
选择uncent('uncent','Hôtel');选择Uncent('Hôtel');