HTMLには、セクション検索に使用できるタグ付きテキスト形式の内部構造があります。たとえば、<H1>タグに対してheadingsというセクションを定義できます。これによって、ドキュメント・セット全体のこのタグ内でのみ語句を検索できます。
問合せには、WITHIN演算子を使用します。Oracle Textにより、headingsセクション内に問合せ語句を含むすべてのドキュメントを検出します。したがって、headingsセクション内にワードoracleを含むすべてのドキュメントを検索する場合は、次の問合せを入力します。
'oracle within headings'
この項の内容は次のとおりです。
次のコードは、HTML_SECTION_GROUP型のセクション・グループhtmgroupを定義します。次に、<H1>タグで識別されるheadingというゾーン・セクションをhtmgroup内に作成します。
begin
ctx_ddl.create_section_group('htmgroup', 'HTML_SECTION_GROUP');
ctx_ddl.add_zone_section('htmgroup', 'heading', 'H1');
end;
ドキュメントを次のように索引付けできます。
create index myindex on docs(htmlfile) indextype is ctxsys.context
parameters('filter ctxsys.null_filter section group htmgroup');
セクション・グループhtmgroupで索引付けした後、次のように問合せを発行してheadingセクション内を問い合せることができます。
'Oracle WITHIN heading'
HTMLドキュメントの場合は、<META>タグのNAME/CONTENTのペアにセクションを作成できます。セクションの作成時に、検索をCONTENT内のテキストに制限できます。
例: <META>タグに対するセクションの作成
次のように、METAタグを持つHTMLドキュメントがあるとします。
<META NAME="author" CONTENT="ken">
METAタグに対してすべてのCONTENT属性を索引付けるゾーン・セクションを作成します。この場合、METAタグのNAME値はauthorです。
begin
ctx_ddl.create_section_group('htmgroup', 'HTML_SECTION_GROUP');
ctx_ddl.add_zone_section('htmgroup', 'author', 'meta@author');
end
セクション・グループhtmgroupで索引付けした後、次のようにドキュメントを問い合せることができます。
'ken WITHIN author'