Home > Class Reference > %SYS namespace > %iKnow.Filters.DictionaryMatchFilter


class %iKnow.Filters.DictionaryMatchFilter extends %iKnow.Filters.Filter

%iKnow.Filters.Filter implementation selecting sources based on whether they contain a minimum and/or maximum number or total score of dictionary matches.

NOTE: by default, this filter only uses existing match results and will only ensure all sources are fully matched when the ensureMatched parameter is enabled!

Filter parameters:

  1. domainId As %Integer
  2. dictIds As %List - target dictionaries (ORed together). Use negative IDs to refer to cross-domain dictionaries.
  3. min As %Numeric (default 1) - minimum count or total score (-1 = no minimum)
  4. max As %Numeric (default -1) - maximum count or total score (-1 = no maximum)
  5. metric As %String (["COUNT"|"SCORE"], default "COUNT") - whether to take the number of matches (default) or their aggregated score.
  6. ensureMatched As %Integer - controls whether or not all sources in the domain are matched through an explicit call to MatchingAPI.MatchSources() as follows:
    • 0 - no explicit matching, use current matching results (default)
    • 1 - match before every invocation of the filter (warning: significant performance impact!)
    • 2 - match once when the filter is instantiated


Parameters Properties Methods Queries Indices ForeignKeys Triggers
5 2


DictIds DomainId EnsureMatched FilteredSourceCount
IsCached Max Metric Min
%AddToSaveSet %ClassIsLatestVersion %ClassName
%ConstructClone %DispatchClassMethod %DispatchGetModified
%DispatchGetProperty %DispatchMethod %DispatchSetModified
%DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified
%New %NormalizeObject %ObjectModified
%OriginalNamespace %PackageName %RemoveFromSaveSet
%SerializeObject %SetModified %ValidateObject
CheckResultCache CheckResultCacheSingle ClearCachedFilter
ClearCachedFilters CreateAsString CreateFromBitstring
CreateGroupAsString FromString GetCRCOccurrenceFilter
GetCRCUniqueFilter GetCcUniqueFilter GetEntityOccurrenceFilter
GetEntityUniqueFilter GetFilteredCcFrequency GetFilteredCcSpread
GetFilteredCrcFrequency GetFilteredCrcSpread GetFilteredEntityFrequency
GetFilteredEntitySpread GetFilteredEntityUniqueCount GetFilteredStemFrequency
GetFilteredStemSpread GetFirstFilteredSource GetLabel
GetNextCRCOccurrenceFilterOffset GetNextCRCUniqueFilterOffset GetNextCcUniqueFilterOffset
GetNextEntityOccurrenceFilterOffset GetNextEntityUniqueFilterOffset GetNextPathFilterOffset
GetNextSourceFilterOffset GetNextSrcId GetPathFilter
GetSourceFilter Initialize Invalidate
IsFiltered IsValid RestoreFilterFromId
RestoreFilterFromString StoreResultCache StoreResultCacheSingle


property DictIds as %List;
property EnsureMatched as %Integer;
property Max as %Numeric;
property Metric as %String;
property Min as %Numeric;


method Invalidate(type As %Integer = $$$IKFSOURCE) as %Status

If EnsureMatched=2, filter invalidation (for example as the result of new sources being added to the domain) implies matching all sources.

method ToString() as %String

Subclasses should implement this method to build a string representation of the filter instance. It should start with the filter class name, followed by a pipe (|) character and then a string representation that can be interpreted by its RestoreFilterFromStringInternal implementation.