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'