Home > Class Reference > %SYS namespace > %iFind.Index.Minimal


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.

Method Inventory



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.

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 can be set to 1 if the implementation of the filing interface and the SQL query interface can be executed on a shard server. The default is 0. If a sharded class attempts to use a functional index where SUPPORTSSHARDING = 0, a class compiler error will be returned.

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) [ Language = objectscript ]
Deletes the iFind index for the row
classmethod Embedded() as %RegisteredObject [ Language = objectscript ]
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 [ Language = objectscript, 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) [ Language = objectscript ]
Inserts the iFind index for the row THROW: This method throws exceptions.
classmethod Normalize(pQuery As %String = "", pLanguage As %String = "") as %String [ Language = objectscript ]
This method will normalize the query of %iFind.Find.Basic based on the dictionary defined %iFind.Index.Basic
classmethod PurgeIndex() [ Language = objectscript ]
Purges the iFind index
classmethod SortBeginIndex() [ Language = objectscript ]
classmethod SortEndIndex(pCommit As %Library.Integer = 1) [ Language = objectscript ]
classmethod UpdateIndex(pID As %RawString, pArg... As %Binary) [ Language = objectscript ]
Updates the iFind index for the row

Inherited Members

Inherited Methods