<replaceable>query</replaceable> <type>text</type> )
<returnvalue>tsquery</returnvalue>
<?br?>
- Converts text to a <type>tsquery</type>, normalizing words according to
- the specified or default configuration. Quoted word sequences are
- converted to phrase tests, and the word <quote>or</quote> is
- understood as producing an OR operator. This approximates the
- behavior of some common web search tools.
+ Converts text to a <type>tsquery</type>, normalizing words according
+ to the specified or default configuration. Quoted word sequences are
+ converted to phrase tests. The word <quote>or</quote> is understood
+ as producing an OR operator, and a dash produces a NOT operator;
+ other punctuation is ignored.
+ This approximates the behavior of some common web search tools.
<?br?>
<literal>websearch_to_tsquery('english', '"fat rat" or cat dog')</literal>
<returnvalue>'fat' <-> 'rat' | 'cat' & 'dog'</returnvalue>
'fat' & 'rat' & 'c'
</screen>
- Here, all the input punctuation was discarded as being space symbols.
+ Here, all the input punctuation was discarded.
</para>
<indexterm>
syntax in which simple unformatted text is a valid query.
Unlike <function>plainto_tsquery</function>
and <function>phraseto_tsquery</function>, it also recognizes certain
- operators. Moreover, this function should never raise syntax errors,
+ operators. Moreover, this function will never raise syntax errors,
which makes it possible to use raw user-supplied input for search.
The following syntax is supported:
+
<itemizedlist spacing="compact" mark="bullet">
<listitem>
<para>
<literal>unquoted text</literal>: text not inside quote marks will be
converted to terms separated by <literal>&</literal> operators, as
- if processed by
- <function>plainto_tsquery</function>.
+ if processed by <function>plainto_tsquery</function>.
</para>
</listitem>
<listitem>
</listitem>
<listitem>
<para>
- <literal>OR</literal>: logical or will be converted to
+ <literal>OR</literal>: the word <quote>or</quote> will be converted to
the <literal>|</literal> operator.
</para>
</listitem>
<listitem>
<para>
- <literal>-</literal>: the logical not operator, converted to the
+ <literal>-</literal>: a dash will be converted to
the <literal>!</literal> operator.
</para>
</listitem>
</itemizedlist>
+
+ Other punctuation is ignored. So
+ like <function>plainto_tsquery</function>
+ and <function>phraseto_tsquery</function>,
+ the <function>websearch_to_tsquery</function> function will not
+ recognize <type>tsquery</type> operators, weight labels, or prefix-match
+ labels in its input.
</para>
+
<para>
Examples:
<screen>