Fulltext Search implements a Lucene-based simple query syntax
The following properties are searched with an accommodation:
- ST Object Code
Any text with one or more terms is considered a valid starting point for query execution. OpenBooking Fulltext will match accommodations containing any or all of the terms in Name and City, including any variations found during analysis of the text.
Operators in simple search
You can embed operators in a query string to build a riche set of criteria against which matching documents are found.
The AND operator is a plus sign. For example,
hotel+luxury will search for accommodations containing both
The OR operator is a vertical bar or pipe character. For example,
hotel | luxury will search for documents containing either
luxury or both.
The NOT operator is a minus sign. For example,
–luxury will search for accommodations that have the
hotel term and/or do not have
The suffix operator is an asterisk. For example,
lux* will search for accommodations that have a term that starts with
lux, ignoring case.
Phrase search operator
The phrase operator encloses a phrase in quotation marks. For example, while
City Motel (without quotes) would search for documents containing
Motel anywhere in any order,
"City Motel" (with quotes) will only match documents that contain that whole phrase together and in that order (text analysis still applies).
The precedence operator encloses the string in parentheses. For example,
motel+(engelberg | luxury) will search for documents containing the motel term and either
luxury (or both).|
Escaping search operators
In order to use the above symbols as actual part of the search text, they should be escaped by prefixing them with a backslash. For example,
luxury\\+hotel will result in the term
luxury+hotel. In order to make things simple for the more typical cases, there are two exceptions to this rule where escaping is not needed:
- The NOT operator
-only needs to be escaped if it's the first character after whitespace, not if it's in the middle of a term. For example,
wi-fiis a single term
- The suffix operator
*needs to be escaped only if it's the last character before whitespace, not if it's in the middle of a term. For example,
wi*fiis treated as a single token.