11.2 Oracle Textを使用したHTMLのセクション検索
HTMLには、セクション検索に使用できるタグ付きテキスト形式の内部構造があります。たとえば、<H1>
タグに対してheadings
というセクションを定義し、ドキュメント・セット全体でこれらのタグ内でのみ語句を検索します。
問合せには、WITHIN
演算子を使用します。Oracle Textにより、headings
セクション内に問合せ語句を含むすべてのドキュメントを検出します。たとえば、headings
セクション内にワードoracle
を含むすべてのドキュメントを検索する場合は、次の問合せを入力します。
'oracle within headings'
この項の内容は次のとおりです。
11.2.1 HTMLのセクションの作成
次のコードは、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'
11.2.2 HTMLのMetaタグの検索
HTMLドキュメントの場合は、<META>
タグのNAME/CONTENT
のペアにセクションを作成できます。このとき、検索をCONTENT
内のテキストに制限できます。
次の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'