# FieldText

Set this parameter to restrict term expansion results to terms that appear in documents that match the specified field text.

This parameter restricts documents in the same way as the FieldText parameter for the Query action.

Actions: | TermExpand
Type: | String
Default: |
Example: | `FieldText=MATCH{Archive,Web,docs}:DIR:DIRECTORY` The `DIR` or `DIRECTORY` field must have the value `Archive`, `Web`, or `docs`. `FieldText=EQUAL{1234567890123}:ACCOUNT:KONTO` The `ACCOUNT` or `KONTO` field must contain the number `1234567890123`. `FieldText=GREATER{6.95}:PRICE:PREIS AND MATCH{Thomas Brown}:AUTHOR:AUTOR` The `PRICE` or `PREIS` field must contain a number greater than `6.95`, and the `AUTHOR` or `AUTOR` field must have the value `Thomas Brown`. `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: |

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.

## Field Specifiers for Common Restrictions

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

## Field Specifiers for Advanced Restrictions

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 BitFieldType 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 ReferenceMemoryMappedType 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

## Field Specifiers for Biasing Result Scores

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

## Field Specifiers for Linking Queries

To link the query results with a particular value in the specified ReferenceMemoryMappedType field to documents where this value occurs as a document reference: | LINK

## Notes:

- 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 TermGetAll action with TermAnalysis set to `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`.

  NOTE: For a `FieldText` query to successfully compare two occurrences of the same field, you must set the XMLFullStructure configuration parameter to `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 XMLFullStructure is set to `True` in the `[Server]` section of the IDOL Server configuration file.

- If XMLFullStructure is set to `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 CaseSensitive to `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

_FT_HTML5_bannerTitle.htm