2.2.1.9 CRestriction

The CRestriction structure stores a restriction with its type and other generic information.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Type

SubType

Weight

Restriction (variable)

...

Type (4 bytes): A 32-bit unsigned integer indicating the restriction type used for the command tree node. The type determines the format and interpretation of the Restriction field of the structure, as specified in the following table. This field MUST be set to one of the values listed in the following table.

Value

Meaning

RTAnd

0x00000001

The node contains a CNodeRestriction on which a logical AND operation is to be performed.

RTOr

0x00000002

The node contains a CNodeRestriction on which a logical OR operation is to be performed.

RTContent

0x00000004

The node contains a CContentRestriction.

RTProperty

0x00000005

The node contains a CPropertyRestriction.

RTProximity

0x00000006

The node contains a CNodeRestriction with an array of CContentRestriction structures. Any other kind of restriction is undefined. The restriction requires the words or phrases found in the CContentRestriction structures to be within a query server defined range to be a match. The query server can also compute a rank based on how far apart the words or phrases are.

RTNatLanguage

0x00000008

The node contains a CNatLanguageRestriction.

RTPropertyRange

0x0000001C

The node contains a CPropertyRangeRestriction.

RTDocSet

0x00000019

The node contains a CDocSetRestriction.

RTInternalProp

0x00000016

The node contains a CInternalPropertyRestriction.

RTExactWord

0x00000018

The node contains a COccRestriction.

RTSynonym

0x00000012

The node contains a COccRestriction.

RTRange

0x00000014

The node contains a CRangeRestriction.

RTScope

0x0000001A

The node contains a CScopeRestriction.

RTPhrase

0x00000013

The node contains a CNodeRestriction.

RTNot

0x00000003

The node contains a CNotRestriction.

RTWord

0x00000011

The node contains a COccRestriction.

RTProb

0x0000000D

The node contains a CNodeRestriction

RTScopeRange

0x0000001D

The node contains a CScopeRangeRestriction.

SubType (4 bytes): A 32-bit unsigned integer that specifies the inclusion behavior for child restrictions of a CProbRestriction. Child restrictions are restrictions stored in the Restrictions array of a CNodeRestriction whose Type field value is RTProb. This value of the field MUST be set to zero ("0") and MUST be ignored for all other restrictions. The value MUST listed in the following table.

Value

Meaning

rstUndefined

0x00000000

The inclusion behavior does not apply to this type of restriction (1).

rstInclude

0x10000000

Documents that match this restriction MUST be returned unless they do not match one of the restrictions with SubType rstMustInclude or match any of the restrictions with SubType rstExclude among the child restrictions of the restriction’s parent CProbRestriction.

rstMustInclude

0x20000000

Documents that do not match this restriction (1) MUST NOT be returned.

rstExclude

0x30000000

Documents that match this restriction (1) MUST NOT be returned.

Weight (4 bytes): A 32-bit unsigned integer representing the weight of the node. Weight indicates the node's importance relative to other nodes in the query command tree. Higher weight values are more important.

Restriction (variable): The restriction type for the command tree node. The format MUST be as indicated by the Type field.