Fields that result documents must contain, and the conditions that these fields must meet for the documents to return as results.
The Highlight action does not accept the BIAS,BIASDATE,BIASDISTCARTESIAN, BIASDISTSPHERICAL, or BIASVAL field specifiers.
For Query and GetQueryTagValues, you can use fields created by using the UserMetaFields parameter in FieldText
syntax. You must add the autn_user_
prefix to the field name that you specify. For example, if you create a field name TOTAL
, you can use autn_user_TOTAL
in a FieldText
query.
Actions: | |
Type: | String |
Default: | |
Example: | FieldText=MATCH{Archive,Web,docs}:DIR:DIRECTORY The FieldText=EQUAL{1234567890123}:ACCOUNT:KONTO The FieldText=GREATER{6.95}:PRICE:PREIS AND MATCH{Thomas Brown}:AUTHOR:AUTOR The FieldText=(LESS{10}:PRICE+AND+MATCH{Penguin}:PUBLISHER)+OR+(NRANGE{20,30}:PRICE+AND+MATCH{George Orwell}:AUTHOR) This example contains four field specifier expressions: LESS{10} MATCH{Penguin} NRANGE{20,30} MATCH{George Orwell} |
See Also: |
Boolean and Proximity Search Query Type XMLFullStructure configuration parameter |
To specify how documents must match fields and field values to return as results, the FieldText
parameter uses field specifiers that describe the pattern of values in fields. These field specifiers fall into the groups described in the following sections.
To find documents in which a specified field contains | Use the field specifier: |
---|---|
a value that exactly matches one or more specified strings | MATCH |
a number To optimize the processing time of queries for fields that contain numbers, store them as numeric fields in IDOL Server during the indexing process. |
EQUAL
GREATER LESS NRANGE NOTEQUAL |
a date To optimize the processing time of queries for fields that contain dates, store them as numeric date fields in IDOL Server during the indexing process. |
GTNOW
LTNOW RANGE |
a value that matches a specified Wildcard string | WILD |
To find documents in which a specified field | Use the field specifier: |
---|---|
contains a value that falls within a specific alphabetical range | ARANGE |
contains a value that results in a non-zero value when a bitwise AND operation is carried out against it | BITAND
BITANDHEX BITANDOFFHEX |
contains a value in a field where the specified bit is set |
BITSET |
contains a Boolean agent | BOOLEANFIELD |
contains Cartesian (x/y) coordinates values within a specified distance from a specified point | DISTCARTESIAN |
contains latitude and longitude values within a specified distance from a specified point | DISTSPHERICAL |
does not exist or does not contain a value | EMPTY |
exists, irrespective of its value | EXISTS |
contains a value that is similar to a specified string | FUZZY |
contains a value whose length is a specific number of characters | LENGTH |
contains multiple instances, whose values include at least one match for each of the specified strings or numeric values | MATCHALL
EQUALALL |
contains multiple instances, all of whose values match in the specified strings or numeric values | MATCHCOVER
EQUALCOVER |
contains a specified reference in a field recursively to a maximum number of times |
MATCHRECURSE |
contains multiple instances, at least one of whose values does not match the specified string | NOTMATCH
NOTSTRING NOTWILD |
contains Cartesian (x/y) coordinate values within a specified polygonal shape | POLYGON |
contains a specified string | STRING
STRINGALL SUBSTRING |
contains a value that matches specific terms or phrases | TERM
TERMALL TERMEXACT TERMEXACTALL TERMEXACTPHRASE TERMPHRASE |
To bias the score of results according to the numerical proximity of the specified field to a specified value: | BIAS |
To boost the score of any document in which the specified field has a specified date: | BIASDATE |
To boost the score of any document according to its distance from a point, specified by using Cartesian coordinates (x/y): | BIASDISTCARTESIAN |
To boost the score of any document according to its distance from a point, specified by using spherical coordinates (latitude and longitude): | BIASDISTSPHERICAL |
To boost the score of any document in which the specified field has a specified value: | BIASVAL |
To link the query results with a particular value in the specified field to documents where this value occurs as a document reference: |
LINK |
In addition to document fields, you can also apply FieldText
restrictions to metadata fields, such as autn_date
, autn_database
, autn_section
, autn_langtype
, and autn_language
. Refer to the IDOL Server Administration Guide for details on metadata fields.
For example:
FieldText=STRING{Archiv}:autn_database
In this example, the autn_database
metadata field must contain the substring Archiv
for the document to return. For example, if the autn_database
metadata field has the value Archive
or Archives
, this document returns.
FieldText=WILD{eng*}:autn_langtype
In this example, the autn_langtype
metadata field must contain a value that starts with eng
(for example, englishASCII
or English_UTF8
) for the document to return as a result.
You can use the autn_termsperdoc
and autn_distincttermsperdoc
metadata fields to return documents that have a specific termsperdoc logn
value. You can use this to investigate the results of a True
. For example:
FieldText=EQUAL{2}:autn_termsperdoc
In this example, documents return only if they contain between 3 and 4 (22) terms.
You can use multiple field specifiers simultaneously by combining them with the Boolean operators AND
, NOT
, and OR
.
For example:
FieldText=GREATER{6.95}:PRICE:PREIS+AND+MATCH{Brown}:AUTHOR:AUTOR
In this example, the PRICE
or PREIS
field must contain a number greater than 6.95
, and the AUTHOR
or AUTOR
field must have the value Brown
, for the document to return as a result.
FieldText=(LESS{10}:PRICE+AND+MATCH{Penguin}:PUBLISHER)+OR+(NRANGE{20,30}:PRICE+AND+MATCH{George Orwell}:AUTHOR)
In this example, documents return only if they meet one of the following criteria:
the PRICE
field contains a number smaller than 10
, and its PUBLISHER
field has the value Penguin
.
the PRICE
field contains a number between 20 and 30, and its AUTHOR
field has the value George Orwell
.
You can use the Boolean proximity operators BEFORE
and AFTER
to specify the order in which certain fields occur in a document.
For example:
FieldText=MATCH{Penguin}:PUBLISHER BEFORE MATCH{George Orwell}:AUTHOR
In this example, documents return only when the PUBLISHER
field contains the value Penguin
earlier in the document than an instance of the AUTHOR
field that contains the value George Orwell
.
For a FieldText
query to successfully compare two occurrences of the same field, you must set the True
in your IDOL Server configuration file.
FieldText=MATCH{George Orwell}:AUTHOR AFTER MATCH{Thomas Brown}:AUTHOR
In this example, documents return only when one occurrence of the AUTHOR
field contains the value George Orwell
later in the document than another occurrence of the AUTHOR
field that contains the value Thomas Brown
. This query returns results only when True
in the [Server]
section of the IDOL Server configuration file.
If True
in the [Server]
section of the IDOL Server configuration file, you can use the WHEN
operator to return only XML documents in which two fields that have the same parent field contain specified terms or phrases.
For example:
action=Query&FieldText=MATCH{audi}:make+WHEN+MATCH{red}:color
This query returns only XML documents in which the make
and color
fields are direct children of the same parent field, and contain the values audi
(in the make
field) and red
(in the color
field).
When identifying fields, use the format:
/FieldName
to match root-level fields.
FieldName
to match all fields except root-level.
/Path/FieldName
to match fields that the specified path points to.
To identify XML attributes, use the format TagName/_ATTR_AttributeName
, for example, FARM/_ATTR_ANIMAL
.
You can also use Wildcards when identifying fields, for example, /Fi*d1
, /Field*
and so on.
All string matching is case insensitive, unless you set True
(this parameter does not apply for TERM, TERMALL, and TERMPHRASE, which are always case insensitive).
You must percent-encode all strings in FieldText
.
You must distinguish punctuation in IDOL query syntax, such as commas and curly braces, from the same punctuation that might occur in the query strings. Use the following percent-encoding guidelines:
Percent-encode an ampersand (&
) as %26
.
Percent-encode a backslash (\
) as %5C
.
Percent-encode a percentage sign (%
) as %25
.
To distinguish curly braces in strings from query syntax, percent-encode left ({
) and right (}
) braces twice, as %257B
and %257D
.
To distinguish commas in strings from separator commas, percent-encode commas twice in strings (%252C
).
Do not encode commas that separate multiple items, or curly braces that start and end lists.
For example, to match the two strings hello,world
and goodbye,again
:
FieldText=MATCH{hello%252Cworld,goodbye%252Cagain}:FIELD
|