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
从中派生当前区块的源文本的长度(以字符为单位)。 零值表示源文本和派生文本之间的逐字符的对应关系。 非零值表示不存在直接对应关系。
注解
最后三个成员 (idChunkSource、 cwcStartSource 和 cwcLenSource) 用于描述派生区块的源;也就是说,可以映射回文本部分的 。 例如,章节的标题可以是文本类型属性和内部值类型属性? 标题。 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 |
idChunkSource、cwcStartSource 和 cwcLenSource 提供的信息对于突出显示命中率的搜索引擎非常有用。 如果对内部值类型属性执行查询,则搜索引擎将突出显示从中派生内部值类型属性文本的原始文本。 例如,在 C++ 代码筛选器中,浏览器在内部值类型属性“函数定义”中搜索 MyFunction 时,将突出显示文件中的函数标头。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | filter.h |