mirror of https://github.com/postgres/postgres
parent
ec2ff52045
commit
1308d6dd80
@ -1,41 +0,0 @@ |
|||||||
Dictionary for integers |
|
||||||
======================= |
|
||||||
|
|
||||||
The motivation for this example dictionary is to control the indexing of |
|
||||||
integers (signed and unsigned), and, consequently, to minimize the number of |
|
||||||
unique words which greatly affect the performance of searching. |
|
||||||
|
|
||||||
* Configuration |
|
||||||
|
|
||||||
The dictionary accepts two options: |
|
||||||
|
|
||||||
- The MAXLEN parameter specifies the maximum length (number of digits) |
|
||||||
allowed in an integer word. The default value is 6. |
|
||||||
|
|
||||||
- The REJECTLONG parameter specifies if an overlength integer should be |
|
||||||
truncated or ignored. If REJECTLONG=FALSE (default), the dictionary returns |
|
||||||
the first MAXLEN digits of the integer. If REJECTLONG=TRUE, the |
|
||||||
dictionary treats an overlength integer as a stop word, so that it will |
|
||||||
not be indexed. |
|
||||||
|
|
||||||
* Usage |
|
||||||
|
|
||||||
1. Compile and install |
|
||||||
|
|
||||||
2. Load dictionary |
|
||||||
|
|
||||||
psql mydb < dict_int.sql |
|
||||||
|
|
||||||
3. Test it |
|
||||||
|
|
||||||
mydb# select ts_lexize('intdict', '12345678'); |
|
||||||
ts_lexize |
|
||||||
----------- |
|
||||||
{123456} |
|
||||||
|
|
||||||
4. Change its options as you wish |
|
||||||
|
|
||||||
mydb# ALTER TEXT SEARCH DICTIONARY intdict (MAXLEN = 4, REJECTLONG = true); |
|
||||||
ALTER TEXT SEARCH DICTIONARY |
|
||||||
|
|
||||||
That's all. |
|
@ -1,52 +0,0 @@ |
|||||||
Extended Synonym dictionary |
|
||||||
=========================== |
|
||||||
|
|
||||||
This is a simple synonym dictionary. It replaces words with groups of their |
|
||||||
synonyms, and so makes it possible to search for a word using any of its |
|
||||||
synonyms. |
|
||||||
|
|
||||||
* Configuration |
|
||||||
|
|
||||||
It accepts the following options: |
|
||||||
|
|
||||||
- KEEPORIG controls whether the original word is included, or only its |
|
||||||
synonyms. Default is 'true'. |
|
||||||
|
|
||||||
- RULES is the base name of the file containing the list of synonyms. |
|
||||||
This file must be in $(prefix)/share/tsearch_data/, and its name must |
|
||||||
end in ".rules" (which is not included in the RULES parameter). |
|
||||||
|
|
||||||
The rules file has the following format: |
|
||||||
|
|
||||||
- Each line represents a group of synonyms for a single word, which is |
|
||||||
given first on the line. Synonyms are separated by whitespace: |
|
||||||
|
|
||||||
word syn1 syn2 syn3 |
|
||||||
|
|
||||||
- Sharp ('#') sign is a comment delimiter. It may appear at any position |
|
||||||
inside the line. The rest of the line will be skipped. |
|
||||||
|
|
||||||
Look at xsyn_sample.rules, which is installed in $(prefix)/share/tsearch_data/, |
|
||||||
for an example. |
|
||||||
|
|
||||||
* Usage |
|
||||||
|
|
||||||
1. Compile and install |
|
||||||
|
|
||||||
2. Load dictionary |
|
||||||
|
|
||||||
psql mydb < dict_xsyn.sql |
|
||||||
|
|
||||||
3. Test it |
|
||||||
|
|
||||||
mydb=# SELECT ts_lexize('xsyn','word'); |
|
||||||
ts_lexize |
|
||||||
---------------- |
|
||||||
{word,syn1,syn2,syn3) |
|
||||||
|
|
||||||
4. Change the dictionary options as you wish |
|
||||||
|
|
||||||
mydb# ALTER TEXT SEARCH DICTIONARY xsyn (KEEPORIG=false); |
|
||||||
ALTER TEXT SEARCH DICTIONARY |
|
||||||
|
|
||||||
That's all. |
|
Loading…
Reference in new issue