Home > Class Reference > ENSLIB namespace > %iFind.Index.Minimal
Private  Storage   


index class %iFind.Index.Minimal extends
%Library.FunctionalIndex, %Compiler.Type.Embedded

This class offers a subset of the full-text search capabilities brought by %iFind.Index.Basic with a minimal storage footprint. The following Basic features are not available for a Minimal index:

See the class reference of %iFind.Index.Basic for a detailed overview of available search capabilities.


Parameters Properties Methods Queries Indices ForeignKeys Triggers
12 11


DeleteIndex Embedded Find InsertIndex
Normalize PurgeIndex SegmentFinalize SegmentInitialize
SegmentInsert SortBeginIndex SortEndIndex UpdateIndex




When generating SQL projections of iFind index data using the IFINDMAPPINGS), this parameter overrides the naming of those classes, using this parameter's value instead of the default [class_name]_[index_name] prefix. The projections will still be created in the [package_name]_[class_name] package.

• parameter IFINDMAPPINGS = 0;

When this parameter is set to 1, additional SQL projections will be created upon compiling the class. These are accessible as read-only tables in a package named [package_name]_[class_name] and have names starting with [class_name]_[index_name] (which can be overridden through IFINDADVANCEDSQLPREFIX).

By default, the following mappings are generated for an %iFind.Index.Minimal index:

Additional classes will be generated automatically, based on your index class and parameters. See the class reference for subclasses for more details.

This parameter enables specifying whether words, entities and similar data should be written to the shared %iFind.Word, %iFind.Entity and similar tables (IFINDSHAREDDATALOCATION="NAMESPACE", default), or whether it should be stored in index-specific tables (IFINDSHAREDDATALOCATION="INDEX"). In the latter case, mappings will be generated for these tables if IFINDMAPPINGS is set to 1.
• parameter IGNOREPUNCTUATION = 1;

This parameter controls whether leading and trailing punctuation is ignored in its entirety or not for this index and associated searches. If set to 0, the index will also track words with adjacent punctuation to enable specifically searching for those occurrences.

• parameter INDEXOPTION = 0;
Specific indexing options to use when processing records.
  • 0 = Do not store compounds or stems
  • 1 = Store word-level stems
  • 2 = Store word-level compounds and stems

See also %iKnow.Stemmer and %iKnow.Stemming.DecompoundUtils for more details on stemming or decompounding, or TRANSFORMATIONSPEC for advanced options to use custom transformations.

• parameter LANGUAGE = "en";
Language to use when indexing records. Use "*" to enable automatic language detection.
• parameter LOWER = 1;
Whether or not to convert content to lowercase before indexing. When set to 1 (default), searches are always case-insensitive. When set to 0, searching will be case-sensitive.

This parameter can be used to override the default stemming implementation when INDEXOPTION > 0. To do so, set this parameter to a saved %iKnow.Stemming.Configuration instance. This parameter has no effect if INDEXOPTION = 0.

This parameter is for advanced use only and empty by default.


This parameter defines the word transformation(s) to apply to input text, such as stemming, decompounding and other operations for "normalizing" words, so searches can scan these normalized forms rather than the literal forms.
This parameter cannot be set in conjunction with the INDEXOPTION and/or STEMMINGCONFIG parameters, which are shorthands for configuring stemming and decompounding options and overriding the default configurations for those.
This parameter also allows using custom transformations by specifying the name of a class that inherits from %iFind.Transformation.Abstract, optionally followed by a colon and string that will be passed onto the Transform method of the transformation class if it accepts any parameters.


This parameter controls which user dictionary should be used to rewrite or annotate text before it is processed by the iKnow engine. See also the section on User Dictionaries in the iKnow documentation.

This parameter is for advanced use only and empty by default.


• classmethod DeleteIndex(pID As %RawString, pArg... As %Binary)
Deletes the iFind index for the row
• classmethod Embedded() as %RegisteredObject
Return an instance of the embedded Find class, initialized with the index' parameters
• classmethod Find(pSearch As %Library.Binary, pOption As %Integer = 0, pLanguage As %String = "", pSynonymOption As %String = "") as %Library.Binary [ SQLProc = ]
Searches for matches based on the iFind index. This function can be accessed more conveniently through the following syntax:
SELECT * FROM MyPackage.Table WHERE 
%ID %FIND search_index(<i>index_name</i>, <var>pSearch</var> [, <var>pOption</var> [, <var>pLanguage</var>]])
• classmethod InsertIndex(pID As %RawString, pArg... As %Binary)
Inserts the iFind index for the row THROW: This method throws exceptions.
• classmethod Normalize(pQuery As %String = "", pLanguage As %String = "") as %String
This method will normalize the query of %iFind.Find.Basic based on the dictionary defined %iFind.Index.Basic
• classmethod PurgeIndex()
Purges the iFind index
• classmethod SortBeginIndex()
• classmethod SortEndIndex()
• classmethod UpdateIndex(pID As %RawString, pArg... As %Binary)
Updates the iFind index for the row