2.2.12.3.1.1.1.5 ISABOUT Expression

The ISABOUT expression of the CONTAINS predicate syntax matches properties against one or more phrase or prefix expressions. The syntax is as follows:

 …ISABOUT(subexpression1, subexpression2, …) RANKMETHOD method…

The expression MUST be true if at least one of the sub-expressions of the ISABOUT expression is true. The difference between the ISABOUT expression and combining its sub-expressions with the OR operator is in the way the value of the Rank property for the items is calculated. The protocol server MUST allow the client to specify a method for calculating the value of the Rank property with the optional RANKMETHOD keyword. Possible methods for calculating value of the Rank property are:

  • JACCARD COEFFICIENT

  • DICE COEFFICIENT

  • INNER PRODUCT

  • MINIMUM

  • MAXIMUM

If no method of calculating the value of the Rank property is specified, the protocol server MUST assume the JACCARD COEFFICIENT method. How these methods affect the value of the Rank property is an implementation detail. See [MSDN-RANKMETHOD] for more information.

The ISABOUT expression is deprecated and SHOULD NOT be used by the protocol client. However, for legacy support the protocol server MUST support it.

 contains-isabout-expression      =      "ISABOUT" *ws "(" *ws contains-isabout-components *ws ")" ["RANKMETHOD" 1*ws rankmethod]
 contains-isabout-components      =      contains-isabout-component [*ws "," *ws contains-isabout-components]
 contains-isabout-component      =      contains-phrase-expression / contains-prefix-expression
 rankmethod      =      "JACCARD" 1*ws "COEFFICIENT"
 rankmethod      =/      "DICE" 1*ws "COEFFICIENT"
 rankmethod      =/      "INNER" 1*ws "PRODUCT"
 rankmethod      =/      "MINIMUM"
 rankmethod      =/      "MAXIMUM"