要旨は、ドキュメントの概要を最も適切に表すドキュメント内のテキストです。テーマ・サマリーは、ドキュメントの単一テーマを最も適切に表すドキュメント内のテキストです。
要旨およびテーマ・サマリーを生成するには、CTX_DOC.GISTプロシージャを使用します。プロシージャのコール時に、要旨またはテーマ・サマリーのサイズを指定できます。
次の例では、10個以内の段落のデフォルト・サイズでない全体の要旨を生成します。結果はCLOBロケータの中のメモリーに格納されます。使用後、コードは戻されたCLOBロケータの割当てを解除します。
declare
gklob clob;
amt number := 40;
line varchar2(80);
begin
ctx_doc.gist('newsindex','34','gklob',1,glevel => 'P',pov => 'GENERIC', numParagraphs => 10);
-- gklob is NULL when passed-in, so ctx-doc.gist will allocate a temporary
-- CLOB for us and place the results there.
dbms_lob.read(gklob, amt, 1, line);
dbms_output.put_line('FIRST 40 CHARS ARE:'||line);
-- have to de-allocate the temp lob
dbms_lob.freetemporary(gklob);
end;
要旨表は、次のように作成します。
create table ctx_gist (query_id number,
pov varchar2(80),
gist CLOB);
次の例では、ドキュメント34に対して、デフォルト・サイズの段落レベルの要旨を戻します。
begin
ctx_doc.gist('newsindex','34','CTX_GIST',1,'PARAGRAPH', pov =>'GENERIC');
end;
次の例では、10個の段落のデフォルト・サイズでない要旨を生成します。
begin
ctx_doc.gist('newsindex','34','CTX_GIST',1,'PARAGRAPH', pov =>'GENERIC', numParagraphs => 10);
end;
次の例では、段落数がドキュメントの合計段落数の10パーセントの要旨を生成します。
begin
ctx_doc.gist('newsindex','34','CTX_GIST',1, 'PARAGRAPH', pov =>'GENERIC', maxPercent => 10);
end;