This section describes the main query syntax that you can use for the Text part of queries.
For Boolean and proximity queries, you add operators to the text to specify the relationship that you want between the search terms. You can also use Brackets and other Special Characters in syntax.
Operator | Description |
---|---|
AND | Both terms must occur. |
NOT | The first term must occur, but not the second term. |
OR | One of the terms must occur, but not necessarily both. |
EOR or XOR | One of the terms must occur, but not both. |
Operator | Description |
---|---|
NEARN
|
The terms must occur within N words of each other. |
DNEARN
|
The terms must occur within N words of each other, in the specified order. |
WNEARN
|
One of the terms must occur, but not necessarily both, and extra relevance is given when the terms occur within N words of each other. |
YNEARN
|
Both of the terms must occur, and extra relevance is given when the terms occur within N words of each other. |
BEFORE
|
Both terms must occur, and the first term must occur earlier in the document than the second term. |
AFTER
|
Both terms must occur, and the first term must occur later in the document than the second term. |
XNEARN
|
The terms must occur exactly N words apart. |
SENTENCE
|
The terms must occur in the same sentence. |
SENTENCEN
|
The terms must occur in the same sentence, and within N words of each other. |
DSENTENCE
|
The terms must occur in the same sentence in the specified order. |
DSENTENCEN
|
The terms must occur in the same sentence in the specified order, and within N words of each other. |
PARAGRAPH
|
The terms must occur in the same paragraph. |
PARAGRAPHN
|
The terms must occur in the same paragraph, and within N words of each other. |
WHEN
|
The first field and value must occur in the same XML segment as the second field and value. |
NOTWHEN
|
The first field and value must occur, but the second field and value must not occur in the same XML segment. |
To use the SENTENCE
and PARAGRAPH
operators, you must have AdvancedPlus mode enabled.
You can use parentheses ()
to define the order in which to apply Boolean and proximity operators. IDOL Server applies the expression inside the brackets first, and then the expression outside the brackets. You can use this option to return a very specific set of results.
The following characters have special syntactic meaning in the Text
parameter of a query.
Syntax | Description | Example |
---|---|---|
Term:Field
|
Field restriction. | Text=cat:TITLE
|
* | Wildcard character, which expands to any number of characters. | Text=rollersk*
|
? | Wildcard character, which expands to one character. | Text=Mi?rotech
|
Term[NN]
|
Apply a weight of NN to the specified Term . |
Text=cat[100]
|
Term[N:O]
|
Apply an occurrence restriction to the specified Term . |
Text=cat[5:10]
|
"Terms"
|
The exact phrase in quotations must occur. | Text="phrase search"
|
~Term
|
Case-sensitive search for Term (AdvancedCaseSearch only). |
Text=~iPhone
|
Term~
|
Search for Term without stemming. |
Text=SHOP~
|
Special characters. To prevent IDOL Server from interpreting the Special Characters in query Text with the meaning described in the table, set the query parameter IgnoreSpecials
to True
.
Even with IgnoreSpecials
, weights and stem indicators still have their syntactic meaning; for example, CAT~[100]
. IgnoreSpecials
also prevents Boolean operators from having their syntactic meaning.
Wildcards. You can globally disable wildcards by using the DisallowWildcards
configuration parameter.
Weights. You can globally disable weights by using the DisallowAgentWeights
configuration parameter.
Operator | Description |
---|---|
DREFUZZY(Term)
|
Returns terms that have similar spelling to the specified Term . |
SOUNDEX(Term)
|
Returns terms that are phonetically similar to the specified Term . |
|