E.10. dict_int

Note: At present, this section is just taken from PostgreSQL documentation and is subject to revision for Postgres-XC.

dict_int is an example of an add-on dictionary template for full-text search. The motivation for this example dictionary is to control the indexing of integers (signed and unsigned), allowing such numbers to be indexed while preventing excessive growth in the number of unique words, which greatly affects the performance of searching.

E.10.1. Configuration

Note: At present, this section is just taken from PostgreSQL documentation and is subject to revision for Postgres-XC.

The dictionary accepts two options:

E.10.2. Usage

Note: At present, this section is just taken from PostgreSQL documentation and is subject to revision for Postgres-XC.

Installing the dict_int extension creates a text search template intdict_template and a dictionary intdict based on it, with the default parameters. You can alter the parameters, for example

mydb# ALTER TEXT SEARCH DICTIONARY intdict (MAXLEN = 4, REJECTLONG = true);
ALTER TEXT SEARCH DICTIONARY

or create new dictionaries based on the template.

To test the dictionary, you can try

mydb# select ts_lexize('intdict', '12345678');
 ts_lexize
-----------
 {123456}

but real-world usage will involve including it in a text search configuration as described in Chapter 12. That might look like this:

ALTER TEXT SEARCH CONFIGURATION english
    ALTER MAPPING FOR int, uint WITH intdict;