2.2.11.10 Synonyms

The protocol server MUST support the definition of synonyms in a query string that uses the WORDS operator. The WORDS operator MUST match the item if the item contains one or more of the tokens or phrases that are specified inside the parenthesis.

 text-synonym = words-operator "(" *ws text-syn-list *ws ")"
 text-syn-list = text-term
 text-syn-list =/ text-syn-list [*ws ","] *ws text-term

The protocol server MUST ignore the trailing asterisk character in a text-prefix. For example, WORDS(word1* word2) is equivalent to WORDS(word1 word2) which matches the items that contain token word1 or token word2 or both.

The protocol server MUST ignore preceding plus and minus characters in qualified tokens and qualified phrases. For example, WORDS(+word1 –"word2 word3") is equivalent to WORDS(word1 "word2 word3") which matches the items that contain token word1 or phrase "word2 word3" or both.

 text-term = text-token / text-prefix / text-qualified-token / text-phrase / text-qualified-phrase