# FieldText

`FieldText` operations are filters that you can use to further restrict the results set generated from the text part of the query.

You can use `FieldText` as a post-filter to results sets during the operations of querying or hyperlinking. Filters act on the values of fields in a document, and use a wide variety of criteria, such as numeric or string values, geographical coordinates, or bitwise operations.

From a Boolean perspective, `FieldText` is always combined with an AND operator with the Text part of the query (that is, a query must always match both the query text and FieldText). You can combine `FieldText` operations with Boolean operators in the usual way.

## Optimize FieldText Performance

With the exception of the `BITSET` operator, you can query with all FieldText operators on any field stored by the IDOL index, irrespective of configuration. However, for most of the operators there is a matching optimal field configuration that reduces the impact of the operation on the duration of the query.

In general, configuring fields for optimal performance results in an increase in memory usage, while greatly reducing the amount of disk usage during a query and reducing the query time. In addition indexing time may increase slightly.

The correct configuration for a field that you want to match using `FieldText` depends on exactly what operators you want to use. The following table shows the field types that are optimized for a given `FieldText` operator. For example, the `EQUAL` operation is fastest when performed against a numeric field (that is, a field configured with the `NumericType` property).

The following table describes the field properties that are optimized for a particular field operator.

Operator | # | M | N | G | P | S | B | NC | MC | R | RMM | Example
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
`ARANGE` | 2 |  |  |  |  |  |  |  |  |  |  | `ARANGE{aardvark,azure}:DRETITLE`
`BIAS` | 3 |  |  |  |  |  |  |  |  |  |  | `BIAS{100,50,10}:Price`
`BIASDATE` | 3 |  |  |  |  |  |  |  |  |  |  | `BIASDATE{1/12/2010,86400,10}:MyDate`
`BIASDISTCARTESIAN` | 4 |  |  |  |  |  |  |  |  |  |  | `BIASDISTCARTESIAN{6,-3,4,10}:X:Y`
`BIASDISTSPHERICAL` | 4 |  |  |  |  |  |  |  |  |  |  | `BIASDISTSPHERICAL{52.2,-0.1,100,10}:LAT:LONG`
`BIASVAL` | 2 |  |  |  |  |  |  |  |  |  |  | `BIASVAL{UK,10}:Country`
`BITAND` | 1 |  |  |  |  |  |  |  |  |  |  | `BITAND{128}:BitField`
`BITANDHEX` | 1 |  |  |  |  |  |  |  |  |  |  | `BITANDHEX{0a0010000}:BitField`
`BITANDOFFHEX` | 2 |  |  |  |  |  |  |  |  |  |  | `BITANDOFFHEX{01,0a001}:BitField`
`BITSET` | - |  |  |  |  |  |  |  |  |  |  | `BITSET{0,5,12}:BitField`
`BOOLEANFIELD` | 1 |  |  |  |  |  |  |  |  |  |  | `BOOLEANFIELD{The cat sat on the mat.}:BoolField`
`DISTCARTESIAN` | 3 |  |  |  |  |  |  |  |  |  |  | `DISTCARTESIAN{6,-3,4}:X:Y`
`DISTSPHERICAL` | 3 |  |  |  |  |  |  |  |  |  |  | `DISTSPHERICAL{52.2,-0.1,10}:LAT:LONG`
`EMPTY` | 0 |  |  |  |  |  |  |  |  |  |  | `EMPTY{}:MyField:MyField2`
`EQUAL` | - |  |  |  |  |  |  |  |  |  |  | `EQUAL{10,20}:PAGES`
`EQUALALL` | - |  |  |  |  |  |  |  |  |  |  | `EQUALALL{10,20}:PAGES`
`EQUALCOVER` | - |  |  |  |  |  |  |  |  |  |  | `EQUALCOVER{2,4,6,8}:VALS`
`EXISTS` | 0 |  |  |  |  |  |  |  |  |  |  | `EXISTS{}:MyField:MyField2`
`FUZZY` | - |  |  |  |  |  |  |  |  |  |  | `FUZZY{Bisiness News,Arkive}:FIELD`
`GEOCONTAINS` | - |  |  |  |  |  |  |  |  |  |  | `GEOCONTAINS{POINT(0 0)}:POSITION`
`GEOINTERSECTS` | - |  |  |  |  |  |  |  |  |  |  | `GEOINTERSECTS{POLYGON((1 1, -1 1, 0 -2, 1 -1))}:POSITION`
`GEOWITHIN` | - |  |  |  |  |  |  |  |  |  |  | `GEOWITHIN{POLYGON((1 1, -1 1, 0 -2, 1 -1))}:LOCATION`
`GREATER` | 1 |  |  |  |  |  |  |  |  |  |  | `GREATER{105.5}:SCORE`
`GTNOW` | 0 |  |  |  |  |  |  |  |  |  |  | `GTNOW{}:MYDATE`
`LENGTH` | 2 |  |  |  |  |  |  |  |  |  |  | `LENGTH{10,20}:FIELD`
`LESS` | 1 |  |  |  |  |  |  |  |  |  |  | `LESS{100}:PRICE`
`LTNOW` | 0 |  |  |  |  |  |  |  |  |  |  | `LTNOW{}:MYDATE`
`MATCH` | - |  |  |  |  |  |  |  |  | 1This optimization applies only if all the fields that you use in the operator are ReferenceType. |  | `MATCH{Archive,News}:DB`
`MATCHALL` | - |  |  |  |  |  |  |  |  |  |  | `MATCHALL{Archive,News}:DB`
`MATCHCOVER` | - |  |  |  |  |  |  |  |  |  |  | `MATCHCOVER{Tom,Dick,Harry,Bill}:NAME`
`MATCHRECURSE` | 2 |  |  |  |  |  |  |  |  |  |  | `MATCHRECURSE{ref123,2}:PARENT`
`NOTEQUAL` | - |  |  |  |  |  |  |  |  |  |  | `NOTEQUAL{1,2}:PAGES`
`NOTMATCH` | - |  |  |  |  |  |  |  |  |  |  | `NOTMATCH{dog,cat}:ANIMAL`
`NOTSTRING` | - |  |  |  |  |  |  |  |  |  |  | `NOTSTRING{og,ca}:ANIMAL`
`NOTWILD` | - |  |  |  |  |  |  |  |  |  |  | `NOTWILD{d*,c?t}:ANIMAL`
`NRANGE` | 2 |  |  |  |  |  |  |  |  |  |  | `NRANGE{10,100}:COST`
`POLYGON` | - |  |  |  |  |  |  |  |  |  |  | `POLYGON{1,1,-1,1,0,-2,1,-1}:XPOS:YPOS`
`RANGE` | 2 |  |  |  |  |  |  |  |  |  |  | `RANGE{1/12/99,31/12/00}:DATE`
`STRING` | - |  |  |  |  |  |  |  |  |  |  | `STRING{giraf,lephant}:ANIMAL`
`STRINGALL` | - |  |  |  |  |  |  |  |  |  |  | `STRINGALL{giraf,lephant}:ANIMAL`
`SUBSTRING` | - |  |  |  |  |  |  |  |  |  |  | `SUBSTRING{Telecommunications,Technology}:SEC`
`TERM` | - |  |  |  |  |  |  |  |  |  |  | `TERM{shopping,centres}:DRETITLE`
`TERMALL` | - |  |  |  |  |  |  |  |  |  |  | `TERMALL{shopping,centres}:DRETITLE`
`TERMEXACT` | - |  |  |  |  |  |  |  |  |  |  | `TERMEXACT{helped,helpi*}:DRECONTENT`
`TERMEXACTALL` | - |  |  |  |  |  |  |  |  |  |  | `TERMEXACTALL{shopping,centres}:DRECONTENT`
`TERMEXACTPHRASE` | 1 |  |  |  |  |  |  |  |  |  |  | `TERMEXACTPHRASE{Batman! And Robins}:FILM`
`TERMPHRASE` | 1 |  |  |  |  |  |  |  |  |  |  | `TERMPHRASE{Batman! And Robins}:FILM`
`WILD` | - |  |  |  |  |  |  |  |  |  |  | `WILD{*.html,*.htm}:URL`

where,

# | The number of values that the operator takes. A dash indicates that the operator can take a variable number.
M | The operator is optimized by configuring the fields as MatchType.
N | The operator is optimized by configuring the fields as NumericType.
G | The operator is optimized by configuring the fields as GeospatialType.
P | The operator is optimized by configuring the fields as ParametricType with `ParametricNumericMapping` set to `True`.
S | The operator is optimized by configuring the fields as SortType.
B | The operator is optimized by configuring the fields as `BitfieldType`.
NC | The operator is optimized by configuring the fields as NumericType AND `CountType`.
MC | The operator is optimized by configuring the fields as MatchType AND `CountType`.
R | The operator is optimized by configuring the fields as ReferenceType.
RMM | The operator is optimized by configuring the fields as `ReferenceMemoryMappedType`.

NOTE: You cannot optimize all field operators by appropriate field configuration. Micro Focus recommends that you use these operators only occasionally for diagnostic or administrative purposes, and not against a production system.

## Notes on FieldText usage

The following section has some additional notes about `FieldText` values.

Case Sensitivity

See Also: Case-Sensitive Search

All string matching in `FieldText` is case independent. You can configure the matching of the field name to be case dependent by setting `CaseSensitiveFieldNames` to `True` in the configuration file. You can override this behavior in most cases with the `CaseSensitive` action parameter in the `Query` action.

An exception occurs when you are using `MatchType` fields or `ParametricType` fields. By default these fields have all their values stored as upper case and so must be matched accordingly. To override this behavior, use the configuration settings `CaseSensitiveMatchValues` and `CaseSensitiveParametricValues` respectively.

Special Characters

You can match any character as a value. However the comma (`,`) and the closing brace (}) must be percent-encoded in values to distinguish them from the separator and value terminator.

NOTE: If your entire `Query` action is automatically percent-encoded when you send it, you might need to percent-encode those characters twice. The rule is that after the entire `Query` action is unecoded once by IDOL, those characters must still be percent-encoded to distinguish them from the separator and value terminator.

FieldText Length

There is no maximum length of a value that can be put into a `FieldText` operator, other than the overall configured value `MaxInputString`. The maximum length of a field name is 512 characters.

Metadata Fields

You can perform `FieldText` operations against the document metadata date, database, and language type, by specifying the `autn_date`, `autn_database`, or `autn_langtype` as the field.

These fields are automatically optimized for matching. However, in general queries on these fields do not perform as quickly as for an equivalent MatchType or NumericType field.

_FT_HTML5_bannerTitle.htm