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.
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 | P | S | B | NC | MC | R | 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
|
||||||||
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
|
- | 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. |
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 ReferenceMemoryMappedType . |
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.
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.
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.
|