STAT_CHUNK结构 (filter.h)

注意

从 Windows XP 开始,索引服务不再受支持,并且自Windows 8起无法使用。 请改用 Windows 搜索 进行客户端搜索,使用 Microsoft Search Server Express 进行服务器端搜索。

描述区块的特征。

语法

typedef struct tagSTAT_CHUNK {
  ULONG           idChunk;
  CHUNK_BREAKTYPE breakType;
  CHUNKSTATE      flags;
  LCID            locale;
  FULLPROPSPEC    attribute;
  ULONG           idChunkSource;
  ULONG           cwcStartSource;
  ULONG           cwcLenSource;
} STAT_CHUNK;

成员

idChunk

区块标识符。 对于 IFilter 接口的当前实例,区块标识符必须是唯一的。 区块标识符必须按升序排列。 区块的编号顺序应与它们在源文档中的显示顺序相对应。 某些搜索引擎可以利用各种属性区块的邻近性。 如果是这样,则发出具有不同属性的区块的顺序对搜索引擎非常重要。

breakType

将前一个区块与当前区块分开的中断类型。 值来自 CHUNK_BREAKTYPE 枚举。

flags

指示此区块是包含文本类型还是值类型属性。 标志值取自 CHUNKSTATE 枚举。 如果设置了CHUNK_TEXT标志,则应使用 IFilter::GetText 以一系列字词的形式检索区块的内容。 如果设置了CHUNK_VALUE标志,则应使用 IFilter::GetValue 检索值并将其视为单个属性值。 如果筛选器规定将相同内容视为文本和值,则应在两个不同的区块中发出两次区块,每个区块都设置了一个标志。

locale

与一段文本关联的语言和子语言。 文档索引器使用区块区域设置来执行正确的文本断字。 如果区块既不是文本类型,也不是数据类型VT_LPWSTR的值类型,VT_LPSTR或VT_BSTR,则忽略此字段。

attribute

要应用于区块的属性。 请参阅 FULLPROPSPEC。 如果筛选器要求同一文本具有多个属性,则它需要在单独的区块中为每个属性发出一次文本。

idChunkSource

区块源的 ID。 idChunkSource 成员的值取决于区块的性质:

  • 如果区块是文本类型属性,则 idChunkSource 成员的值必须与 idChunk 成员的值相同。
  • 如果区块是派生自文本内容的内部 value-type 属性,则 idChunkSource 成员的值是派生它的文本类型区块的区块 ID。
  • 如果筛选器属性指定仅返回内部值类型属性,则不存在要从中派生当前内部 value-type 属性的内容块。 在这种情况下, idChunkSource 成员的值必须设置为零,这是无效的区块。

cwcStartSource

派生区块的源文本从源区块中启动的偏移量。

cwcLenSource

从中派生当前区块的源文本的长度(以字符为单位)。 零值表示源文本和派生文本之间的逐字符的对应关系。 非零值表示不存在直接对应关系。

注解

最后三个成员 (idChunkSourcecwcStartSourcecwcLenSource) 用于描述派生区块的源;也就是说,可以映射回文本部分的 。 例如,章节的标题可以是文本类型属性和内部值类型属性? 标题。 value-type 属性“heading”将是派生区块。 如果当前值类型区块的文本 (来自内部值类型属性) 派生自某个文本类型区块,则必须多次发出它。

以下段是一个示例,说明在书籍中如何发生此情况。

小侦探惊呼道:“C'est fini!

自白

房间沉默了几分钟。 经过认真思考,这位年轻女子问道:“但是你怎么知道的呢?

此段可能按以下方式拆分为区块。

ID 文本 BreakType Flags Locale Attribute
1 小 dete N/A CHUNK_TEXT ENGLISH_UK CONTENT
2 ctive exclaimed, CHUNK_NO_BREAK 不可用 N/A N/A
3 “C'est fini!” CHUNK_EOW CHUNK_TEXT FRENCH_BELGIAN CONTENT
4 自白 CHUNK_EOC CHUNK_TEXT ENGLISH_UK CHAPTER_NAMES
5 自白 CHUNK_EOP CHUNK_TEXT ENGLISH_UK CONTENT
6 房间沉默了几分钟。 CHUNK_EOP CHUNK_TEXT ENGLISH_UK CONTENT
7 经过认真思考,这位年轻女子问道:“但是你怎么知道的呢? CHUNK_EOS CHUNK_TEXT ENGLISH_UK CONTENT
 

idChunkSourcecwcStartSourcecwcLenSource 提供的信息对于突出显示命中率的搜索引擎非常有用。 如果对内部值类型属性执行查询,则搜索引擎将突出显示从中派生内部值类型属性文本的原始文本。 例如,在 C++ 代码筛选器中,浏览器在内部值类型属性“函数定义”中搜索 MyFunction 时,将突出显示文件中的函数标头。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 filter.h

另请参阅

CHUNKSTATE

CHUNK_BREAKTYPE

FULLPROPSPEC

IFilter