Поделиться через


структура STAT_CHUNK (filter.h)

Примечание

Служба индексирования больше не поддерживается в Windows XP и недоступна для использования с Windows 8. Вместо этого используйте Windows Search для поиска на стороне клиента и 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

Указывает, содержит ли этот блок свойство типа text или value-type. Значения флагов взяты из перечисления CHUNKSTATE . Если установлен флаг CHUNK_TEXT, следует использовать IFilter::GetText для получения содержимого блока в виде ряда слов. Если установлен флаг CHUNK_VALUE, следует использовать IFilter::GetValue для получения значения и обработки его как одного значения свойства. Если фильтр требует, чтобы одно и то же содержимое рассматривалось как текст и как значение, блок должен выдаваться дважды в двух разных блоках, каждый из которых имеет один флаг.

locale

Язык и подязыка, связанные с фрагментом текста. Языковой стандарт фрагмента используется индексаторами документов для правильного разбиения текста по словам. Если фрагмент не является ни типом текста, ни типом значения с типом данных VT_LPWSTR, VT_LPSTR или VT_BSTR, это поле игнорируется.

attribute

Свойство, применяемое к блоку. См. раздел FULLPROPSPEC. Если фильтр требует, чтобы один и тот же текст был более чем одним свойством, он должен выдавать текст один раз для каждого свойства отдельными блоками.

idChunkSource

Идентификатор источника блока. Значение элемента idChunkSource зависит от характера блока:

  • Если фрагмент является свойством текстового типа, значение элемента idChunkSource должно совпадать со значением элемента idChunk .
  • Если фрагмент является внутренним свойством типа значения, производным от текстового содержимого, значение элемента idChunkSource является идентификатором блока типа текста, от которого он является производным.
  • Если атрибуты фильтра указывают, что возвращаются только внутренние свойства типа значения, то не существует фрагмента содержимого, из которого можно было бы наследовать текущее внутреннее свойство типа значения. В этом случае значение элемента idChunkSource должно быть равно нулю, что является недопустимым блоком.

cwcStartSource

Смещение, с которого начинается исходный текст для производного блока в исходном фрагменте.

cwcLenSource

Длина в символах исходного текста, из которого был получен текущий фрагмент. Нулевое значение означает символьное соответствие между исходным и производным текстом. Ненулевое значение означает, что такого прямого соответствия не существует.

Комментарии

Последние три элемента (idChunkSource, cwcStartSource и cwcLenSource) используются для описания источника производного блока; то есть , который можно сопоставить с разделом текста. Например, заголовок главы может быть как свойством текстового типа, так и внутренним свойством типа значения . заголовок . Свойство типа значения "заголовок" будет производным блоком. Если текст текущего фрагмента типа значения (из внутреннего свойства типа значения) является производным от фрагмента текстового типа, его необходимо выдавать несколько раз.

Следующий сегмент является примером того, как это может произойти в книге.

Маленький детектив воскликнул: "C'est fini!"

Признания

Комната молчала в течение нескольких минут. Подумав об этом, молодая женщина спросила: "Но откуда ты знала?"

Этот сегмент можно разбить на блоки следующим образом.

ID Текст BreakType Флаги Локаль attribute
1 Маленький дет Н/Д CHUNK_TEXT ENGLISH_UK CONTENT
2 ctive воскликнул, CHUNK_NO_BREAK Н/Д Н/Д Недоступно
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

См. также раздел

CHUNKSTATE

CHUNK_BREAKTYPE

FULLPROPSPEC

Ifilter