estrutura STAT_CHUNK (filter.h)

Observação

O Serviço de Indexação não tem mais suporte a partir do Windows XP e não está disponível para uso a partir de Windows 8. Em vez disso, use a Pesquisa do Windows para pesquisa do lado do cliente e o Microsoft Search Server Express para pesquisa no lado do servidor.

Descreve as características de uma parte.

Sintaxe

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

Membros

idChunk

O identificador de parte. Os identificadores de parte devem ser exclusivos para a instância atual da interface IFilter . Os identificadores de parte devem estar em ordem crescente. A ordem na qual as partes são numeradas deve corresponder à ordem em que elas aparecem no documento de origem. Alguns mecanismos de pesquisa podem aproveitar a proximidade de partes de várias propriedades. Nesse caso, a ordem na qual partes com propriedades diferentes são emitidas será importante para o mecanismo de pesquisa.

breakType

O tipo de quebra que separa a parte anterior da parte atual. Os valores são da enumeração CHUNK_BREAKTYPE .

flags

Indica se essa parte contém uma propriedade de tipo de texto ou de tipo de valor. Os valores de sinalizador são obtidos da enumeração CHUNKSTATE . Se o sinalizador CHUNK_TEXT estiver definido, IFilter::GetText deverá ser usado para recuperar o conteúdo da parte como uma série de palavras. Se o sinalizador CHUNK_VALUE estiver definido, IFilter::GetValue deverá ser usado para recuperar o valor e tratá-lo como um único valor de propriedade. Se o filtro determinar que o mesmo conteúdo seja tratado como texto e como um valor, a parte deverá ser emitida duas vezes em duas partes diferentes, cada uma com um sinalizador definido.

locale

A linguagem e a sublinguagem associadas a uma parte de texto. A localidade da parte é usada por indexadores de documentos para executar a quebra de texto de palavra adequada. Se a parte não for do tipo de texto nem de um tipo de valor com tipo de dados VT_LPWSTR, VT_LPSTR ou VT_BSTR, esse campo será ignorado.

attribute

A propriedade a ser aplicada à parte. Consulte FULLPROPSPEC. Se um filtro exigir que o mesmo texto tenha mais de uma propriedade, ele precisará emitir o texto uma vez para cada propriedade em partes separadas.

idChunkSource

A ID da origem de uma parte. O valor do membro idChunkSource depende da natureza da parte:

  • Se a parte for uma propriedade de tipo de texto, o valor do membro idChunkSource deverá ser o mesmo que o valor do membro idChunk .
  • Se a parte for uma propriedade de tipo de valor interno derivada do conteúdo textual, o valor do membro idChunkSource será a ID da parte do tipo texto da qual ela é derivada.
  • Se os atributos de filtro especificarem para retornar apenas propriedades internas do tipo valor, não haverá nenhuma parte de conteúdo da qual derivar a propriedade de tipo de valor interno atual. Nesse caso, o valor do membro idChunkSource deve ser definido como zero, que é uma parte inválida.

cwcStartSource

O deslocamento do qual o texto de origem de uma parte derivada começa na parte de origem.

cwcLenSource

O comprimento em caracteres do texto de origem do qual a parte atual foi derivada. Um valor zero significa correspondência de caractere por caractere entre o texto de origem e o texto derivado. Um valor diferente de zero significa que essa correspondência direta não existe.

Comentários

Os três membros finais (idChunkSource, cwcStartSource e cwcLenSource) são usados para descrever a origem de uma parte derivada; ou seja, um que pode ser mapeado de volta para uma seção de texto. Por exemplo, o título de um capítulo pode ser uma propriedade de tipo de texto e uma propriedade interna de tipo de valor ? um título. A propriedade de tipo de valor "heading" seria uma parte derivada. Se o texto da parte do tipo de valor atual (de uma propriedade de tipo de valor interno) for derivado de alguma parte do tipo texto, ele deverá ser emitido mais de uma vez.

O segmento a seguir é um exemplo de como isso pode acontecer em um livro.

O pequeno detetive exclamou: "C'est fini!"

Confissões

A sala ficou em silêncio por vários minutos. Depois de pensar muito sobre isso, a jovem perguntou: "Mas como você sabia?"

Esse segmento pode ser dividido em partes da seguinte maneira.

ID Texto BreakType Flags Local Atributo
1 O pequeno dete N/D CHUNK_TEXT ENGLISH_UK CONTENT
2 ctive exclamou, CHUNK_NO_BREAK N/D N/D N/D
3 "C'est fini!" CHUNK_EOW CHUNK_TEXT FRENCH_BELGIAN CONTENT
4 Confissões CHUNK_EOC CHUNK_TEXT ENGLISH_UK CHAPTER_NAMES
5 Confissões CHUNK_EOP CHUNK_TEXT ENGLISH_UK CONTENT
6 A sala ficou em silêncio por vários minutos. CHUNK_EOP CHUNK_TEXT ENGLISH_UK CONTENT
7 Depois de pensar muito sobre isso, a jovem perguntou: "Mas como você sabia?" CHUNK_EOS CHUNK_TEXT ENGLISH_UK CONTENT
 

As informações fornecidas por idChunkSource, cwcStartSource e cwcLenSource são úteis para um mecanismo de pesquisa que realça ocorrências. Se a consulta for feita para uma propriedade de tipo de valor interno, o mecanismo de pesquisa realçará o texto original do qual o texto da propriedade de tipo de valor interno foi derivado. Por exemplo, em um filtro de código C++, o navegador, ao pesquisar MyFunction na propriedade interna de tipo de valor "definições de função", realçará o cabeçalho da função no arquivo.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho filter.h

Confira também

CHUNKSTATE

CHUNK_BREAKTYPE

FULLPROPSPEC

Ifilter