INamedEntityCollector::Add 方法 (structuredquery.h)

将单个 (潜在) 命名实体添加到此 INamedEntityCollector 集合中,如要分析的输入字符串的标记化跨度中标识的那样。

语法

HRESULT Add(
  [in] ULONG                  beginSpan,
  [in] ULONG                  endSpan,
  [in] ULONG                  beginActual,
  [in] ULONG                  endActual,
  [in] IEntity                *pType,
  [in] LPCWSTR                pszValue,
  [in] NAMED_ENTITY_CERTAINTY certainty
);

参数

[in] beginSpan

类型: ULONG

整个标记范围的开头,包括任何前导引号。

[in] endSpan

类型: ULONG

整个标记范围的末尾,包括任何尾随引号。

[in] beginActual

类型: ULONG

标识潜在命名实体的令牌范围部分的开头。

[in] endActual

类型: ULONG

标识潜在命名实体的令牌范围部分的末尾。

[in] pType

类型: IEntity*

命名实体的语义类型。

[in] pszValue

类型: LPCWSTR

字符串形式的实体的名称。

[in] certainty

类型: NAMED_ENTITY_CERTAINTY

以下值之一:

信息
NEC_LOW 它可能是这个命名的实体,但建议提供其他证据。
NEC_MEDIUM 它可能是这个命名的实体;可以使用它。
NEC_HIGH 几乎可以肯定的是这个命名实体:应该可以放弃其他可能性。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

当查询分析器将输入字符串分析为条件节点时,分析程序将调用 IConditionGenerator 对象,该对象又调用 INamedEntityCollector::Add 以收集输入字符串中可能的命名实体。 IConditionGenerator 对象必须为它在输入字符串中识别的每个潜在命名实体调用此方法。 对于每个实体,条件生成器必须提供以下信息:

  • 它涵盖的输入字符串的哪个部分
  • 命名实体的语义类型
  • 命名实体值的字符串表示形式
  • 输入真正为命名实体的确定性级别
如果在输入字符串的解释中使用了命名实体,则将使用值字符串作为参数之一调用条件生成器的 GenerateForLeaf 方法。

必须在第一个参数之间维护以下关系: beginSpan = beginActual<endActual = endSpan

要求

要求
最低受支持的客户端 Windows XP SP2、Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 SP1 [仅限桌面应用]
目标平台 Windows
标头 structuredquery.h
可再发行组件 Windows 桌面搜索 (WDS) 3.0