The DGraph.WhyMatch property value has a three-part format that is made up of a list of fields where the terms matched, a list of the terms that matched, and several possible query expansions that may have been applied to the during processing.

The DGraph.WhyMatch property is returned as a JSON object with the following format: :

[{fields: [<FieldName>, <FieldName>, ... ], terms:[
              {term:<TermName>, expansions:[{type:<TypeName>},
                   {type:<TypeName>}, ... ]},
              {term:<TermName>, expansions:[{type:<TypeName>},
                   {type:<TypeName>}, ... ]}]}
          ... ]

where the supported expansion types (i.e. the <TypeName> values) are as follows:

The availability of these values depends on which search features have been enabled in the MDEX Engine.

For example, suppose there is a matchpartial query for "nueve uno firefighter" that produces a single-field match in "Spanish", a cross-field match in Spanish and English (i.e. "one" appears in English via thesaurus from uno), and firefighter is not in any field. The following DGraph.WhyMatch property value is returned:

[{fields:[Spanish], terms:[{term:nueve,expansions:[]},
 {fields:[Spanish,English], terms:[{term:nueve,expansions:[]},
                                   {term:uno,  expansions:[{type:Thesaurus}]}]}] 

Copyright © Legal Notices