%iKnow.Filters.Filter implementation selecting sources based on whether they
contain a minimum and/or maximum number or total score of dictionary term 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!
- pDomainId As %Integer
- pDictTermIds As %List - target dictionary terms (ORed together). Use negative IDs to refer to cross-domain dictionary terms.
- pMin As %Numeric (default 1) - minimum count or total score (-1 = no minimum)
- pMax As %Numeric (default -1) - maximum count or total score (-1 = no maximum)
- pMetric 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 Invalidate(type As %Integer = $$$IKFSOURCE)
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