pdf viewer in asp net c# : Add an image to a pdf with acrobat software Library dll windows .net winforms web forms postgresql-9.4-A442-part2964

Chapter 12. Full Text Search
Note that when multiple rewrite rules are applied in this way, the order of application can be
important; so in practice you will want the source query to
ORDER BY
some ordering key.
Let’s consider a real-life astronomical example. We’ll expand query
supernovae
using table-driven
rewriting rules:
CREATE TABLE aliases (t tsquery primary key, s tsquery);
INSERT INTO aliases VALUES(to_tsquery(’supernovae’), to_tsquery(’supernovae|sn’));
SELECT ts_rewrite(to_tsquery(’supernovae & crab’), ’SELECT
*
FROM aliases’);
ts_rewrite
---------------------------------
’crab’ & ( ’supernova’ | ’sn’ )
We can change the rewriting rules just by updating the table:
UPDATE aliases
SET s = to_tsquery(’supernovae|sn & !nebulae’)
WHERE t = to_tsquery(’supernovae’);
SELECT ts_rewrite(to_tsquery(’supernovae & crab’), ’SELECT
*
FROM aliases’);
ts_rewrite
---------------------------------------------
’crab’ & ( ’supernova’ | ’sn’ & !’nebula’ )
Rewriting can be slow when there are many rewriting rules, since it checks every rule for a possi-
ble match. To filter out obvious non-candidate rules we can use the containment operators for the
tsquery
type. In the example below, we select only those rules which might match the original
query:
SELECT ts_rewrite(’a & b’::tsquery,
’SELECT t,s FROM aliases WHERE ”a & b”::tsquery @> t’);
ts_rewrite
------------
’b’ & ’c’
12.4.3. Triggers for Automatic Updates
When using a separate column to store the
tsvector
representation of your documents, it is neces-
sary to create a trigger to update the
tsvector
columnwhenthe document content columns change.
Two built-in trigger functions are available for this, or you can write your own.
tsvector_update_trigger(
tsvector_column_name
,
config_name
,
text_column_name
[, ... ])
tsvector_update_trigger_column(
tsvector_column_name
,
config_column_name
,
text_column_name
[, ... ])
These trigger functions automatically compute a
tsvector
column from one or more textual
columns, under the control of parameters specified in the
CREATE TRIGGER
command. An example
of their use is:
CREATE TABLE messages (
title
text,
body
text,
348
Add an image to a pdf with acrobat - insert images into PDF in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sample C# code to add image, picture, logo or digital photo into PDF document page using PDF page editor control
how to add a picture to a pdf document; how to add a jpeg to a pdf
Add an image to a pdf with acrobat - VB.NET PDF insert image library: insert images into PDF in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Guide VB.NET Programmers How to Add Images in PDF Document
add jpeg to pdf; how to add an image to a pdf
Chapter 12. Full Text Search
tsv
tsvector
);
CREATE TRIGGER tsvectorupdate BEFORE INSERT OR UPDATE
ON messages FOR EACH ROW EXECUTE PROCEDURE
tsvector_update_trigger(tsv, ’pg_catalog.english’, title, body);
INSERT INTO messages VALUES(’title here’, ’the body text is here’);
SELECT
*
FROM messages;
title
|
body
|
tsv
------------+-----------------------+----------------------------
title here | the body text is here | ’bodi’:4 ’text’:5 ’titl’:1
SELECT title, body FROM messages WHERE tsv @@ to_tsquery(’title & body’);
title
|
body
------------+-----------------------
title here | the body text is here
Having created this trigger, any change in
title
or
body
will automatically be reflected into
tsv
,
without the application having to worry about it.
The first trigger argument must be the name of the
tsvector
column to be updated. The second
argument specifies the text search configuration to be used to perform the conversion. For
tsvector_update_trigger
, the configuration name is simply given as the second trigger
argument. It must be schema-qualified as shown above, so that the trigger behavior will not change
with changes in
search_path
. For
tsvector_update_trigger_column
, the second trigger
argument is the name of another table column, which must be of type
regconfig
.This allows a
per-row selection of configuration to be made. The remaining argument(s) are the names of textual
columns (of type
text
,
varchar
,or
char
). These will be included in the document in the order
given. NULL values will be skipped (but the other columns will still be indexed).
Alimitation of these built-intriggers is that they treat all the input columns alike. To process columns
differently — for example, to weight title differently from body — it is necessary to write a custom
trigger. Here is an example using PL/pgSQL as the trigger language:
CREATE FUNCTION messages_trigger() RETURNS trigger AS $$
begin
new.tsv :=
setweight(to_tsvector(’pg_catalog.english’, coalesce(new.title,”)), ’A’) ||
setweight(to_tsvector(’pg_catalog.english’, coalesce(new.body,”)), ’D’);
return new;
end
$$ LANGUAGE plpgsql;
CREATE TRIGGER tsvectorupdate BEFORE INSERT OR UPDATE
ON messages FOR EACH ROW EXECUTE PROCEDURE messages_trigger();
Keep in mind that it is important to specify the configuration name explicitly when creating
tsvector
values inside triggers, so that the column’s contents will not be affected by changes to
default_text_search_config
.Failure to do this is likely to lead to problems such as search
results changing after a dump and reload.
349
.NET PDF Document Viewing, Annotation, Conversion & Processing
Convert image files to PDF. File & Page Process. Annotate & Comment. Add, insert PDF native annotations to PDF file. Support for all the print modes in Acrobat PDF
adding jpg to pdf; adding a jpg to a pdf
C# PDF Converter Library SDK to convert PDF to other file formats
without using other external third-party dependencies like Adobe Acrobat. you can easily perform file conversion from PDF document to image or document
add image in pdf using java; acrobat insert image into pdf
Chapter 12. Full Text Search
12.4.4. Gathering Document Statistics
The function
ts_stat
is usefulfor checkingyour configuration and for findingstop-word candidates.
ts_stat(
sqlquery text
, [
weights text
, ]
OUT
word text
, OUT
ndoc integer
,
OUT
nentry integer
) returns
setof record
sqlquery
is a text value containing an SQL query which must return a single
tsvector
column.
ts_stat
executes the query and returns statistics about each distinct lexeme (word) contained in the
tsvector
data. The columns returned are
word text
—the value of a lexeme
ndoc integer
—number of documents (
tsvector
s) the word occurred in
nentry integer
—total number of occurrences of the word
If
weights
is supplied, only occurrences having one of those weights are counted.
For example, to find the ten most frequent words in a document collection:
SELECT
*
FROM ts_stat(’SELECT vector FROM apod’)
ORDER BY nentry DESC, ndoc DESC, word
LIMIT 10;
The same, but counting only word occurrences with weight
A
or
B
:
SELECT
*
FROM ts_stat(’SELECT vector FROM apod’, ’ab’)
ORDER BY nentry DESC, ndoc DESC, word
LIMIT 10;
12.5. Parsers
Text search parsers are responsible for splitting raw document text into tokens and identifying each
token’s type, where the set of possible types is defined by the parser itself. Note that a parser does
not modify the text at all — it simply identifies plausible word boundaries. Because of this limited
scope, there is less need for application-specific custom parsers than there is for custom dictionaries.
At present PostgreSQL provides just one built-inparser, which has been found to be useful for a wide
range of applications.
The built-in parser is named
pg_catalog.default
.It recognizes 23 token types, shown in Table
12-1.
Table 12-1. Default Parser’s Token Types
Alias
Description
Example
asciiword
Word, all ASCII letters
elephant
word
Word, all letters
mañana
numword
Word, letters and digits
beta1
asciihword
Hyphenated word, all ASCII
up-to-date
350
C# Windows Viewer - Image and Document Conversion & Rendering in
without using other external third-party dependencies like Adobe Acrobat. Image and Document Conversion Supported by Windows Viewer. Convert to PDF.
add photo to pdf for; add image to pdf file
VB.NET PDF: How to Create Watermark on PDF Document within
Using this VB.NET Imaging PDF Watermark Add-on, you can a watermark that consists of text or image (such as And with our PDF Watermark Creator, users need no
how to add photo to pdf in preview; add jpg to pdf file
Chapter 12. Full Text Search
Alias
Description
Example
hword
Hyphenated word, all letters
lógico-matemática
numhword
Hyphenated word, letters and
digits
postgresql-beta1
hword_asciipart
Hyphenated word part, all
ASCII
postgresql
in the context
postgresql-beta1
hword_part
Hyphenated word part, all
letters
lógico
or
matemática
in the
context
lógico-matemática
hword_numpart
Hyphenated word part, letters
and digits
beta1
in the context
postgresql-beta1
email
Email address
foo@example.com
protocol
Protocol head
http://
url
URL
example.com/stuff/index.html
host
Host
example.com
url_path
URL path
/stuff/index.html
,in the
context of a URL
file
File or path name
/usr/local/foo.txt
,if not
within a URL
sfloat
Scientific notation
-1.234e56
float
Decimal notation
-1.234
int
Signed integer
-1234
uint
Unsigned integer
1234
version
Version number
8.3.0
tag
XML tag
<a
href="dictionaries.html">
entity
XML entity
&amp;
blank
Space symbols
(any whitespace or punctuation
not otherwise recognized)
Note: The parser’s notion of a “letter” is determined by the database’s locale setting, specifically
lc_ctype
.Words containing only the basic ASCII letters are reported as a separate token type,
since it is sometimes useful to distinguish them. In most European languages, token types
word
and
asciiword
should be treated alike.
email
does not support all valid email characters as defined by RFC 5322. Specifically, the only
non-alphanumeric characters supported for email user names are period, dash, and underscore.
Itis possible for theparser toproduce overlapping tokens from thesame piece of text. As an example,
ahyphenated word will be reported both as the entire word andas each component:
SELECT alias, description, token FROM ts_debug(’foo-bar-beta1’);
alias
|
description
|
token
-----------------+------------------------------------------+---------------
numhword
| Hyphenated word, letters and digits
| foo-bar-beta1
hword_asciipart | Hyphenated word part, all ASCII
| foo
blank
| Space symbols
| -
351
C# powerpoint - PowerPoint Conversion & Rendering in C#.NET
using other external third-party dependencies like Adobe Acrobat. SDK to convert PowerPoint document to PDF document code for PowerPoint to TIFF image conversion
adding a jpeg to a pdf; add a jpg to a pdf
C# Word - Word Conversion in C#.NET
using other external third-party dependencies like Adobe Acrobat. Word SDK to convert Word document to PDF document. demo code for Word to TIFF image conversion
how to add image to pdf acrobat; add image to pdf online
Chapter 12. Full Text Search
hword_asciipart | Hyphenated word part, all ASCII
| bar
blank
| Space symbols
| -
hword_numpart
| Hyphenated word part, letters and digits | beta1
This behavior is desirable since it allows searches to work for boththe whole compound wordand for
components. Here is another instructive example:
SELECT alias, description, token FROM ts_debug(’http://example.com/stuff/index.html’);
alias
|
description
|
token
----------+---------------+------------------------------
protocol | Protocol head | http://
url
| URL
| example.com/stuff/index.html
host
| Host
| example.com
url_path | URL path
| /stuff/index.html
12.6. Dictionaries
Dictionaries are used to eliminate words that should not be considered in a search (stop words), and
to normalize words so that different derived forms of the same word will match. A successfully nor-
malized word is called a lexeme. Aside from improving search quality, normalization and removal of
stop words reduce the size of the
tsvector
representation of a document, thereby improvingperfor-
mance. Normalization does not always have linguistic meaning and usually depends on application
semantics.
Some examples of normalization:
Linguistic- Ispell dictionaries trytoreduce input words toa normalizedform; stemmer dictionaries
remove word endings
URL locations can be canonicalized tomake equivalent URLs match:
http://www.pgsql.ru/db/mw/index.html
http://www.pgsql.ru/db/mw/
http://www.pgsql.ru/db/../db/mw/index.html
Color names can be replaced by their hexadecimal values, e.g.,
red, green, blue, magenta
-> FF0000, 00FF00, 0000FF, FF00FF
If indexingnumbers, wecan remove some fractionaldigitsto reduce the range of possible numbers,
so for example 3.14159265359, 3.1415926, 3.14 will be the same after normalization if only two
digits are kept after the decimal point.
Adictionaryis a program that accepts a token as input and returns:
anarray of lexemes if the input tokenis knownto the dictionary (notice that one token canproduce
more thanone lexeme)
asingle lexeme with the
TSL_FILTER
flag set, to replace the original tokenwith a newtoken to be
passed to subsequent dictionaries (a dictionary that does this is called a filtering dictionary)
an empty array if the dictionary knows the token, but it is a stop word
NULL
if the dictionary does not recognize the input token
352
BMP to PDF Converter | Convert Bitmap to PDF, Convert PDF to BMP
Also designed to be used add-on for .NET Image SDK, RasterEdge Bitmap to PDF Converter can Powerful image converter for Bitmap and PDF files; No need for
add picture to pdf online; adding images to pdf forms
PDF to WORD Converter | Convert PDF to Word, Convert Word to PDF
out transformation between different kinds of image files and Word Converter has accurate output, and PDF to Word need the support of Adobe Acrobat & Microsoft
add multiple jpg to pdf; add image to pdf acrobat reader
Chapter 12. Full Text Search
PostgreSQL provides predefined dictionaries for many languages. There are also several predefined
templates thatcan beused tocreate new dictionaries with custom parameters. Eachpredefineddictio-
nary template is described below. If no existing template is suitable, it is possible to create new ones;
see the
contrib/
area of the PostgreSQL distribution for examples.
Atext search configuration binds a parser together with a set of dictionaries to process the parser’s
outputtokens. For each token typethatthe parser can return, a separate list of dictionaries is specified
by the configuration. When a token of that type is found by the parser, each dictionary in the list is
consulted in turn, until some dictionary recognizes it as a known word. If it is identified as a stop
word, or if no dictionary recognizes the token, it will be discarded and not indexed or searched for.
Normally, the first dictionary that returns anon-
NULL
output determines the result, andanyremaining
dictionaries are not consulted; but a filtering dictionary can replace the given word with a modified
word, which is then passed to subsequent dictionaries.
The general rule for configuring a list of dictionaries is to place first the most narrow, most spe-
cific dictionary, then the more general dictionaries, finishing with a very general dictionary, like a
Snowball stemmer or
simple
,which recognizes everything. For example, for an astronomy-specific
search(
astro_en
configuration) one could bindtoken type
asciiword
(ASCII word) to a synonym
dictionary of astronomical terms, a general English dictionary and a Snowball English stemmer:
ALTER TEXT SEARCH CONFIGURATION astro_en
ADD MAPPING FOR asciiword WITH astrosyn, english_ispell, english_stem;
Afiltering dictionary can be placed anywhere in the list, except at the end where it’d be useless.
Filtering dictionaries are useful to partially normalize words to simplify the task of later dictionaries.
For example, a filtering dictionary could be used to remove accents from accented letters, as is done
by the unaccent module.
12.6.1. Stop Words
Stop words are words that are very common, appear in almost every document, and have no discrim-
ination value. Therefore, they can be ignored in the context of full text searching. For example, every
English text contains words like
a
and
the
,so it is useless to store them in an index. However, stop
words do affect the positions in
tsvector
,which in turn affect ranking:
SELECT to_tsvector(’english’,’in the list of stop words’);
to_tsvector
----------------------------
’list’:3 ’stop’:5 ’word’:6
The missing positions 1,2,4 are because of stop words. Ranks calculated for documents with and
without stop words are quite different:
SELECT ts_rank_cd (to_tsvector(’english’,’in the list of stop words’), to_tsquery(’list & stop’));
ts_rank_cd
------------
0.05
SELECT ts_rank_cd (to_tsvector(’english’,’list stop words’), to_tsquery(’list & stop’));
ts_rank_cd
------------
0.1
353
JPEG to PDF Converter | Convert JPEG to PDF, Convert PDF to JPEG
It can be used standalone. JPEG to PDF Converter is able to convert image files to PDF directly without the software Adobe Acrobat Reader for conversion.
add photo to pdf preview; add jpg to pdf preview
VB.NET PowerPoint: VB Code to Draw and Create Annotation on PPT
as a kind of compensation for limitations (other documents are compatible, including PDF, TIFF, MS VB.NET PPT: VB Code to Add Embedded Image Object to
add photo to pdf file; add an image to a pdf with acrobat
Chapter 12. Full Text Search
It is up to the specific dictionary how it treats stop words. For example,
ispell
dictionaries first
normalize words and then look atthe list of stopwords, while
Snowball
stemmers first check the list
of stop words. The reason for the different behavior is an attempt to decrease noise.
12.6.2. Simple Dictionary
The
simple
dictionary template operates by converting the input token to lower case and checking
it against a file of stop words. If it is found in the file then an empty array is returned, causing the
token to be discarded. If not, the lower-cased form of the word is returned as the normalized lexeme.
Alternatively, the dictionary can be configured to report non-stop-words as unrecognized, allowing
them to be passed on to the next dictionary in the list.
Here is an example of a dictionarydefinition using the
simple
template:
CREATE TEXT SEARCH DICTIONARY public.simple_dict (
TEMPLATE = pg_catalog.simple,
STOPWORDS = english
);
Here,
english
is the base name of a file of stop words. The file’s full name will be
$SHAREDIR/tsearch_data/english.stop
, where
$SHAREDIR
means the PostgreSQL
installation’s shared-data directory, often
/usr/local/share/postgresql
(use
pg_config
--sharedir
to determine it if you’re not sure). The file format is simply a list of words, one per
line. Blank lines and trailing spaces are ignored, and upper case is folded to lower case, but no other
processing is done onthe file contents.
Now we can test our dictionary:
SELECT ts_lexize(’public.simple_dict’,’YeS’);
ts_lexize
-----------
{yes}
SELECT ts_lexize(’public.simple_dict’,’The’);
ts_lexize
-----------
{}
We can also choose to return
NULL
,insteadof the lower-casedword, if it is notfound in the stop words
file. This behavior is selected by setting the dictionary’s
Accept
parameter to
false
.Continuing the
example:
ALTER TEXT SEARCH DICTIONARY public.simple_dict ( Accept = false );
SELECT ts_lexize(’public.simple_dict’,’YeS’);
ts_lexize
-----------
SELECT ts_lexize(’public.simple_dict’,’The’);
ts_lexize
-----------
{}
354
Chapter 12. Full Text Search
With the default setting of
Accept
=
true
,it is only useful to place a
simple
dictionary at the end
of a list of dictionaries, since it will never pass on any token to a following dictionary. Conversely,
Accept
=
false
is only useful when there is at least one following dictionary.
Caution
Most types of dictionaries rely onconfigurationfiles, such as files of stopwords.
These files must be stored in UTF-8 encoding. They will be translated to the
actualdatabaseencoding, if that is different, whenthey arereadintotheserver.
Caution
Normally, adatabase session will read a dictionary configuration file only once,
when it is first used within the session. If you modify a configuration file and
want to force existing sessions to pick up the new contents, issue an
ALTER
TEXT SEARCH DICTIONARY
commandon the dictionary. This canbe a“dummy”
update that doesn’t actually change any parameter values.
12.6.3. Synonym Dictionary
This dictionary template is used to create dictionaries that replace a word with a synonym. Phrases
are not supported (use the thesaurus template (Section 12.6.4) for that). A synonym dictionary can
be used to overcome linguistic problems, for example, to prevent an English stemmer dictionary
from reducing the word “Paris” to “pari”. It is enough to have a
Paris paris
line in the synonym
dictionary and put it before the
english_stem
dictionary. For example:
SELECT
*
FROM ts_debug(’english’, ’Paris’);
alias
|
description
| token |
dictionaries
|
dictionary
| lexemes
-----------+-----------------+-------+----------------+--------------+---------
asciiword | Word, all ASCII | Paris | {english_stem} | english_stem | {pari}
CREATE TEXT SEARCH DICTIONARY my_synonym (
TEMPLATE = synonym,
SYNONYMS = my_synonyms
);
ALTER TEXT SEARCH CONFIGURATION english
ALTER MAPPING FOR asciiword
WITH my_synonym, english_stem;
SELECT
*
FROM ts_debug(’english’, ’Paris’);
alias
|
description
| token |
dictionaries
| dictionary | lexemes
-----------+-----------------+-------+---------------------------+------------+---------
asciiword | Word, all ASCII | Paris | {my_synonym,english_stem} | my_synonym | {paris}
The only parameter required by the
synonym
template is
SYNONYMS
, which is the base name
of its configuration file —
my_synonyms
in the above example. The file’s full name will be
$SHAREDIR/tsearch_data/my_synonyms.syn
(where
$SHAREDIR
means the PostgreSQL
installation’s shared-data directory). The file format is just one line per word to be substituted, with
355
Chapter 12. Full Text Search
the word followed by its synonym, separated by white space. Blank lines and trailing spaces are
ignored.
The
synonym
template also has an optional parameter
CaseSensitive
,which defaults to
false
.
When
CaseSensitive
is
false
,words in the synonym file are folded to lower case, as are input
tokens. When it is
true
,words and tokens are not folded to lower case, but are compared as-is.
An asterisk (
*
) can be placed at the end of a synonym in the configuration file. This
indicates that the synonym is a prefix. The asterisk is ignored when the entry is used in
to_tsvector()
, but when it is used in
to_tsquery()
, the result will be a query item with
the prefix match marker (see Section 12.3.2). For example, suppose we have these entries in
$SHAREDIR/tsearch_data/synonym_sample.syn
:
postgres
pgsql
postgresql
pgsql
postgre pgsql
gogle
googl
indices index
*
Then we will get these results:
mydb=# CREATE TEXT SEARCH DICTIONARY syn (template=synonym, synonyms=’synonym_sample’);
mydb=# SELECT ts_lexize(’syn’,’indices’);
ts_lexize
-----------
{index}
(1 row)
mydb=# CREATE TEXT SEARCH CONFIGURATION tst (copy=simple);
mydb=# ALTER TEXT SEARCH CONFIGURATION tst ALTER MAPPING FOR asciiword WITH syn;
mydb=# SELECT to_tsvector(’tst’,’indices’);
to_tsvector
-------------
’index’:1
(1 row)
mydb=# SELECT to_tsquery(’tst’,’indices’);
to_tsquery
------------
’index’:
*
(1 row)
mydb=# SELECT ’indexes are very useful’::tsvector;
tsvector
---------------------------------
’are’ ’indexes’ ’useful’ ’very’
(1 row)
mydb=# SELECT ’indexes are very useful’::tsvector @@ to_tsquery(’tst’,’indices’);
?column?
----------
t
(1 row)
356
Chapter 12. Full Text Search
12.6.4. Thesaurus Dictionary
Athesaurus dictionary (sometimes abbreviated as TZ) is a collection of words that includes infor-
mation about the relationships of words and phrases, i.e., broader terms (BT), narrower terms (NT),
preferred terms, non-preferred terms, related terms, etc.
Basically a thesaurus dictionary replaces all non-preferred terms by one preferred term and, option-
ally, preserves the original terms for indexing as well. PostgreSQL’s current implementation of the
thesaurus dictionary is an extension of the synonym dictionary with added phrase support. A the-
saurus dictionary requires a configuration file of the following format:
# this is a comment
sample word(s) : indexed word(s)
more sample word(s) : more indexed word(s)
...
where the colon (
:
)symbol acts as a delimiter between a phrase and its replacement.
Athesaurus dictionary uses a subdictionary (which is specified in the dictionary’s configuration) to
normalize the input text before checking for phrase matches. It is only possible to select one subdic-
tionary. An error is reported if the subdictionary fails to recognize a word. In that case, you should
remove the use of the word or teach the subdictionary about it. You can place an asterisk (
*
)at the
beginning of an indexed word to skip applying the subdictionary to it, but all sample words must be
known to the subdictionary.
The thesaurus dictionary chooses the longest match if there are multiple phrases matching the input,
and ties are broken by using the last definition.
Specific stop words recognized by the subdictionary cannot be specified; instead use
?
to mark the
location where any stop word can appear. For example, assuming that
a
and
the
are stop words
according to the subdictionary:
? one ? two : swsw
matches
a one the two
and
the one a two
;both would be replaced by
swsw
.
Since a thesaurus dictionary has the capability to recognize phrases it must remember its state and
interact with the parser. A thesaurus dictionary uses these assignments to check if it should handle
the next word or stop accumulation. The thesaurus dictionary must be configured carefully. For ex-
ample, if the thesaurus dictionary is assigned to handle only the
asciiword
token, then a thesaurus
dictionary definition like
one 7
will not work since token type
uint
is not assigned to the thesaurus
dictionary.
Caution
Thesauruses are used during indexing so any change in the thesaurus dictio-
nary’s parameters requires reindexing. For most other dictionary types, small
changes such as adding or removing stopwords does not force reindexing.
12.6.4.1. Thesaurus Configuration
To define a new thesaurus dictionary, use the
thesaurus
template. For example:
CREATE TEXT SEARCH DICTIONARY thesaurus_simple (
TEMPLATE = thesaurus,
DictFile = mythesaurus,
Dictionary = pg_catalog.english_stem
357
Documents you may be interested
Documents you may be interested