class %iKnow.Filters.DictionaryTermMatchFilter 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 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
Property Inventory (Including Private)
Method Inventory (Including Private)
Properties (Including Private)
Methods (Including Private)
If this method returns an error then the object will not be created.
It is passed the arguments provided in the %New call. When customizing this method, override the arguments with whatever variables and types you expect to receive from %New(). For example, if you're going to call %New, passing 2 arguments, %OnNew's signature could be:
Method %OnNew(dob as %Date = "", name as %Name = "") as %Status If instead of returning a %Status code this returns an oref and this oref is a subclass of the current class then this oref will be the one returned to the caller of %New method.
This is the primary method that needs to be implemented by an actual %iKnow.Filters.Filter subclass to translate the abstract filter criteria the subclass addresses into a bitstring based on Source IDs. The subclass' implementation of this method should use SetSourceBits() for this purpose, setting the requested bitstrings for each offset up to maxOffset.
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.
In addition to default %iKnow.Filters.Filter checks, this class ensures match status is up to date for the sources at the supplied offset.