As indicated in the introduction, the input and query texts are tokenized before they are compared with each other. During this process, texts are split into tokens, which are then normalized, based on the following matching options:
* If {{Code|case}} is insensitive, no distinction is made between characters in upper and lower case. By default, the option is {{Code|insensitive}}; it can also be set to {{Code|sensitive}}.:
<pre class="brush:xquery">
"Respect Upper Case" contains text "Upper" using case sensitive
</pre>
* If {{Code|diacritics}} is insensitive, characters with and without diacritics (umlauts, characters with accents) are declared identical. By default, the option is {{Code|insensitive}}; it can also be set to {{Code|sensitive}}.:
<pre class="brush:xquery">
"'Äpfel' will not be found..." contains text "Apfel" diacritics sensitive
</pre>
* If {{Code|stemming}} is activated, words are shortened to a base form by a language-specific stemmer. :
<pre class="brush:xquery">
"catch" contains text "catches" using stemming,