summaryrefslogtreecommitdiffstats
path: root/doc/src/sgml/ref/create_tsparser.sgml
blob: 088d92323a0f8ec8d4a2d33993550d0e822860c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<!--
doc/src/sgml/ref/create_tsparser.sgml
PostgreSQL documentation
-->

<refentry id="sql-createtsparser">
 <indexterm zone="sql-createtsparser">
  <primary>CREATE TEXT SEARCH PARSER</primary>
 </indexterm>

 <refmeta>
  <refentrytitle>CREATE TEXT SEARCH PARSER</refentrytitle>
  <manvolnum>7</manvolnum>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>CREATE TEXT SEARCH PARSER</refname>
  <refpurpose>define a new text search parser</refpurpose>
 </refnamediv>

 <refsynopsisdiv>
<synopsis>
CREATE TEXT SEARCH PARSER <replaceable class="parameter">name</replaceable> (
    START = <replaceable class="parameter">start_function</replaceable> ,
    GETTOKEN = <replaceable class="parameter">gettoken_function</replaceable> ,
    END = <replaceable class="parameter">end_function</replaceable> ,
    LEXTYPES = <replaceable class="parameter">lextypes_function</replaceable>
    [, HEADLINE = <replaceable class="parameter">headline_function</replaceable> ]
)
</synopsis>
 </refsynopsisdiv>

 <refsect1>
  <title>Description</title>

  <para>
   <command>CREATE TEXT SEARCH PARSER</command> creates a new text search
   parser.  A text search parser defines a method for splitting a text
   string into tokens and assigning types (categories) to the tokens.
   A parser is not particularly useful by itself, but must be bound into a
   text search configuration along with some text search dictionaries
   to be used for searching.
  </para>

  <para>
   If a schema name is given then the text search parser is created in the
   specified schema.  Otherwise it is created in the current schema.
  </para>

  <para>
   You must be a superuser to use <command>CREATE TEXT SEARCH PARSER</command>.
   (This restriction is made because an erroneous text search parser
   definition could confuse or even crash the server.)
  </para>

  <para>
   Refer to <xref linkend="textsearch"/> for further information.
  </para>
 </refsect1>

 <refsect1>
  <title>Parameters</title>

  <variablelist>
   <varlistentry>
    <term><replaceable class="parameter">name</replaceable></term>
    <listitem>
     <para>
      The name of the text search parser to be created.  The name can be
      schema-qualified.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">start_function</replaceable></term>
    <listitem>
     <para>
      The name of the start function for the parser.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">gettoken_function</replaceable></term>
    <listitem>
     <para>
      The name of the get-next-token function for the parser.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">end_function</replaceable></term>
    <listitem>
     <para>
      The name of the end function for the parser.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">lextypes_function</replaceable></term>
    <listitem>
     <para>
      The name of the lextypes function for the parser (a function that
      returns information about the set of token types it produces).
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">headline_function</replaceable></term>
    <listitem>
     <para>
      The name of the headline function for the parser (a function that
      summarizes a set of tokens).
     </para>
    </listitem>
   </varlistentry>
  </variablelist>

  <para>
   The function names can be schema-qualified if necessary.  Argument types
   are not given, since the argument list for each type of function is
   predetermined.  All except the headline function are required.
  </para>

  <para>
   The arguments can appear in any order, not only the one shown above.
  </para>
 </refsect1>

 <refsect1>
  <title>Compatibility</title>

  <para>
   There is no
   <command>CREATE TEXT SEARCH PARSER</command> statement in the SQL
   standard.
  </para>
 </refsect1>

 <refsect1>
  <title>See Also</title>

  <simplelist type="inline">
   <member><xref linkend="sql-altertsparser"/></member>
   <member><xref linkend="sql-droptsparser"/></member>
  </simplelist>
 </refsect1>
</refentry>