STAT_CHUNK结构(filter.h)
描述区块的特征。
语法
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 成员的值相同。
- 如果区块是派生自文本内容的内部值类型属性,则 idChunkSource 成员的值是派生其来源的文本类型区块的区块 ID。
- 如果筛选器属性指定仅返回内部值类型属性,则不存在派生当前内部值类型属性的内容区块。 在这种情况下,idChunkSource 成员的值必须设置为零,这是无效的区块。
cwcStartSource
派生区块的源文本在源区块中开始的偏移量。
cwcLenSource
从中派生当前区块的源文本的长度(以字符为单位)。 零值表示源文本和派生文本之间的逐个字符的对应关系。 非零值表示不存在此类直接通信。
言论
最后三个成员(idChunkSource、cwcStartSource和 cwcLenSource)用于描述派生区块的源;也就是说,可以映射回文本部分。 例如,章节的标题可以是文本类型属性和内部值类型属性? 标题。 value-type 属性“heading”将是派生区块。 如果当前值类型区块(来自内部值类型属性)的文本派生自某些文本类型区块,则必须多次发出它。
以下部分是一个示例,说明如何在书本中发生这种情况。
小侦探惊呼道:“C'est fini!
供词
房间沉默了几分钟。 这位年轻女子在想得非常努力后问道:“但你怎么知道?
此段可能按以下方式分解为区块。
ID | 发短信 | BreakType | 标志 | 现场 | 属性 |
---|---|---|---|---|---|
1 | 小 dete | N/A | CHUNK_TEXT | ENGLISH_UK | 内容 |
2 | ctive 感叹, | CHUNK_NO_BREAK | N/A | N/A | N/A |
3 | “C'est fini!” | CHUNK_EOW | CHUNK_TEXT | FRENCH_BELGIAN | 内容 |
4 | 自白 | CHUNK_EOC | CHUNK_TEXT | ENGLISH_UK | CHAPTER_NAMES |
5 | 自白 | CHUNK_EOP | CHUNK_TEXT | ENGLISH_UK | 内容 |
6 | 房间沉默了几分钟。 | CHUNK_EOP | CHUNK_TEXT | ENGLISH_UK | 内容 |
7 | 这位年轻女子在想得非常努力后问道:“但你怎么知道? | CHUNK_EOS | CHUNK_TEXT | ENGLISH_UK | 内容 |
idChunkSource、cwcStartSource提供的信息,cwcLenSource 对于突出显示命中的搜索引擎非常有用。 如果查询为内部值类型属性完成,搜索引擎将突出显示从中派生内部值类型属性的文本的原始文本。 例如,在C++代码筛选器中,浏览器在内部值类型属性“函数定义”中搜索 MyFunction 时,将突出显示文件中的函数标头。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | filter.h |