STAT_CHUNK構造体 (filter.h)
注意
Indexing Service は 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
前のチャンクを現在のチャンクから分離する break の型。 値は 、CHUNK_BREAKTYPE 列挙からの値です。
flags
このチャンクにテキスト型または値型のプロパティが含まれているかどうかを示します。 フラグ値は CHUNKSTATE 列挙から取得されます。 CHUNK_TEXT フラグが設定されている場合は、 IFilter::GetText を使用してチャンクの内容を一連の単語として取得する必要があります。 CHUNK_VALUE フラグが設定されている場合は、 IFilter::GetValue を使用して値を取得し、単一のプロパティ値として扱う必要があります。 フィルターで、同じコンテンツをテキストと値の両方として扱う必要がある場合、チャンクは 2 つの異なるチャンクで 2 回出力され、それぞれ 1 つのフラグが設定されます。
locale
テキストのチャンクに関連付けられている言語とサブ言語。 チャンク ロケールは、テキストの適切な単語区切りを実行するためにドキュメント インデクサーによって使用されます。 チャンクがテキスト型でも値型でもなく、データ型がVT_LPWSTR、VT_LPSTR、またはVT_BSTRの場合、このフィールドは無視されます。
attribute
チャンクに適用されるプロパティ。 「FULLPROPSPEC」を参照してください。 フィルターで同じテキストに複数のプロパティが必要な場合は、各プロパティに対してテキストを個別のチャンクで 1 回出力する必要があります。
idChunkSource
チャンクのソースの ID。 idChunkSource メンバーの値は、チャンクの性質によって異なります。
- チャンクがテキスト型プロパティの場合、 idChunkSource メンバーの値は idChunk メンバーの値と同じである必要があります。
- チャンクがテキスト コンテンツから派生した内部値型プロパティの場合、 idChunkSource メンバーの値は、それが派生するテキスト型チャンクのチャンク ID です。
- フィルター属性が内部値型プロパティのみを返すように指定した場合、現在の内部値型プロパティの派生元となるコンテンツ チャンクはありません。 この場合、 idChunkSource メンバーの値を 0 に設定する必要があります。これは無効なチャンクです。
cwcStartSource
派生チャンクのソース テキストがソース チャンクで開始されるオフセット。
cwcLenSource
現在のチャンクの派生元のソース テキストの文字数。 0 の値は、ソース テキストと派生テキストの間の文字単位の対応関係を示します。 0 以外の値は、このような直接対応が存在しないことを意味します。
注釈
最終的な 3 つのメンバー (idChunkSource、 cwcStartSource、 および cwcLenSource) は、派生チャンクのソースを記述するために使用されます。つまり、テキストのセクションにマップし直すことができるもの。 たとえば、章の見出しには、テキスト型プロパティと内部値型プロパティの両方を指定できます。 見出し。 値型プロパティ "heading" は、派生チャンクになります。 現在の値型チャンク (内部値型プロパティから) のテキストがテキスト型チャンクから派生している場合は、複数回出力する必要があります。
次のセグメントは、これが書籍でどのように起こるかを示す例です。
小さな探偵は、「C'est fini!
告白
部屋は静かで、数分間静かでした。 そのことを一生懸命考えた後,若い女性は「しかし,どうして分かったのですか」と尋ねました。
このセグメントは、次のようにチャンクに分割される可能性があります。
id | Text | BreakType | Flags | Locale | 属性 |
---|---|---|---|---|---|
1 | 小さなデテ | 該当なし | CHUNK_TEXT | ENGLISH_UK | CONTENT |
2 | ctive exclaimed, | 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 [デスクトップ アプリのみ] |
Header | filter.h |