<!-- doc/src/sgml/ref/create_tsparser.sgml PostgreSQL documentation --> <refentry id="SQL-CREATETSPARSER"> <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> <indexterm zone="sql-createtsparser"> <primary>CREATE TEXT SEARCH PARSER</primary> </indexterm> <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>