# F.45.不合适的

F.45.1.配置F.45.2.用法F.45.3.功能

不合适的是一个文本搜索词典,可以从词素中删除重音(变音符号)。它是一个过滤字典,这意味着它的输出总是传递给下一个字典(如果有),这与字典的正常行为不同。这允许对全文搜索进行不区分重音的处理。

当前实施的不合适的无法用作的规范化词典同义词词典词典

该模块被认为是“受信任的”,也就是说,它可以由拥有创造当前数据库的权限。

# 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');