You can configure the IDOL Content component to identify fields that contain numerical values. When these fields are indexed, Content stores them in a fast look-up table in memory, so that it can quickly return the field. A numeric field can contain a comma-separated list of numbers. Content stores each value as a numeric value for this field, for this document.
NOTE: You cannot configure a field with two numeric-based types concurrently. Numeric-based types include NumericType
, NumericDateType
, MatchType
, ParametricRangeType
, ReferenceMemoryMappedType
, and ParametricType
when the ParametricNumericMapping
configuration parameter is set to True
.
Open the IDOL Content component configuration file in a text editor.
List a process that identifies numeric fields in the [FieldProcessing]
section. For example:
[FieldProcessing] 0=MyFirstProcess 1=PriceFields
Create a section for each process that you listed, and in each section, declare a property for the process (you define the property later by setting one or more applicable configuration parameters). Identify the fields that you want to associate with the process.
NOTE: The properties that you create must not have the same name as the processes.
For example:
[MyFirstProcess] Property=MyProperty PropertyFieldCSVs=*/MyField,*/MyOtherField [PriceFields] Property=Price PropertyFieldCSVs=*/PRICE
Create a section for the property in which you set the NumericType
parameter to True
. This enables Content to memory map the associated PropertyFieldCSVs
fields. For example:
[Price] NumericType=True
Save and close the configuration file.
Restart the IDOL Content component for your changes to take effect.
If you now send a query for a specific value that is stored in the PRICE
field, Content memory maps the range that this value is in, so that it can return results more quickly next time a value that lies in this range is queried.
Examples:
http://12.3.4.56:4000/action=Query&FieldText=NRANGE{50,100}:PRICE
The PRICE
field must contain a number between 50 and 100 (including decimal numbers) for this document to return.
http://12.3.4.56:4000/action=Query&Text=computer&Sort=PRICE:numberincreasing
IDOL Server sorts the results that it returns for the query according to the values that their PRICE
fields contain. The results whose PRICE
field contains the smallest value is listed first, followed by results with increasing values in the PRICE
field.
|