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!
- domainId As %Integer
- dictIds As %List - target dictionaries (ORed together). Use negative IDs to refer to cross-domain dictionaries.
- min As %Numeric (default 1) - minimum count or total score (-1 = no minimum)
- max As %Numeric (default -1) - maximum count or total score (-1 = no maximum)
- metric As %String (["COUNT"|"SCORE"], default "COUNT") - whether to take the number of matches (default) or their aggregated score.
- 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
method ToString() as %String
If EnsureMatched=2, filter invalidation (for example as the result of new sources being added to the domain) implies matching all sources.
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.