10 CTX_ENTITYパッケージ

CTX_ENTITY PL/SQL パッケージを使用し、ワードおよび句を検索して個人や企業などのカテゴリに分類します。

CTX_ENTITYには、次のストアド・プロシージャおよびファンクションが含まれています。

名前 説明

ADD_EXTRACT_RULE

単一の抽出ルールを抽出ポリシーに追加します。

ADD_STOP_ENTITY

抽出されない特定のエンティティ参照またはエンティティ・タイプをマークします。

COMPILE

追加された抽出ルールを抽出ポリシーにコンパイルします。

CREATE_EXTRACT_POLICY

使用する抽出ポリシーを作成します。

DROP_EXTRACT_POLICY

抽出ポリシーを削除します。

EXTRACT

入力ドキュメントで検出されたエンティティを示すXMLドキュメントを生成します。

IMPORT_DICTIONARY

エンティティ抽出ユーザー・ディクショナリをOracle Text表にインポートします。

REMOVE_EXTRACT_RULE

抽出ポリシーから単一の抽出ルールを削除します。

REMOVE_STOP_ENTITY

抽出ポリシーからストップ・エンティティを削除します。

ノート:

CTX_ENTITYパッケージのAPIは、スキーマまたは所有者名を接頭辞として使用する識別子をサポートしていません。

10.1 ADD_EXTRACT_RULE

ADD_EXTRACT_RULEプロシージャは、単一の抽出ルールを抽出ポリシーに追加します。インボーカは、ルールを独自の抽出ポリシーに追加します。抽出ルールは、文全体のスコープを含みます。抽出ルールでは、ルール式のエンティティ・タイプおよびルール演算子を除いて大/小文字を区別する必要があります。ルール追加の順序は重要ではありません。ルールの追加は、CTX_ENTITY.COMPILEが実行されるまで有効ではありません。このプロシージャは、コミットを発行します。

構文

CTX_ENTITY.ADD_EXTRACT_RULE(
  policy_name                 IN VARCHAR2,
  rule_id                     IN INTEGER,
  extraction_rule             IN VARCHAR2);
policy_name

ポリシーの名前を指定します。

rule_id

抽出ポリシー内の一意のルールIDを指定します。ルールIDは0(ゼロ)より大きくする必要があります。

extraction_rule

XML形式のルール・テキストは、言語、式、および抽出するエンティティを指定します。ルール・テキストは、次のXMLスキーマに準拠します。

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="rule">
  <xsd:sequence>
    <xsd:element name="expression" type="xsd:string"/>
    <xsd:complexType>
    </xsd:complexType>
    <xsd:element name="comments type="xsd:string" default="\0"/>
  </xsd:sequence>
  </xsd:attribute name="language" type="xsd:string" default="ALL"/>
</xsd:element>
</xsd:schema>

詳細は次のとおりです。

  • ルール・タグの言語属性は、ルールに適用される言語を指定します。ルールは、指定された言語のドキュメントにのみ適用されます。言語属性は、省略することも、ルールがすべてのドキュメントに一致する場合には「ALL」に設定することもできます。

  • 式タグには、マッチングで使用されるposix正規表現が含まれます。

  • コメント・タグを使用すると、ユーザーはコメントをこのユーザー・ルールと関連付けることができます。

  • タイプ・タグは、抽出されたエンティティ・テキストを所定のエンティティ・タイプに割り当てます。エンティティ・タイプは、表10 -1にリストされているOracle提供のルール・タイプのいずれかにすることも、ユーザー定義タイプにすることもできます。

ノート:

Oracle Databaseリリース20c以降、抽出ルールのXML形式には次の変更があります。
  • タイプ・タグのrefid属性はサポートされていません。

  • ユーザー定義のタイプには、先頭に文字「x」を付ける必要はありません。

  • '\c(<type>)'は、ユーザー定義のタイプおよびオラクル社提供のタイプをルールで使用する場合に使用する必要があります。

表10-1 提供されるエンティティ・タイプ

提供されるエンティティ・タイプ タイプ 説明

building

Oracle提供ディクショナリ

建物の名前

ホワイトハウス

city

Oracle提供ディクショナリ

市区町村の名前

ニューヨーク

company

Oracle提供ディクショナリ

会社名

オラクル社

country

Oracle提供ディクショナリ

国名

米国

currency

Oracleが提供するルール

通貨

ドル

date

Oracleが提供するルール

日付

7月4日

day

Oracle提供ディクショナリ

曜日

月曜日、火曜日

email_address

Oracleが提供するルール

電子メール・アドレス

person@example.com

geo_political

Oracle提供ディクショナリ

政治組織または戦略組織

国際連合

holiday

Oracle提供ディクショナリ

国別の休日の名前

労働者の日

location_other

Oracle提供ディクショナリ

他のタイプの場所

大西洋

month

Oracleが提供するルール

6月、7月

non_profit

Oracle提供ディクショナリ

非営利組織

赤十字社

organization_other

Oracle提供ディクショナリ

他のタイプの組織

最高裁判所

percent

Oracleが提供するルール

数字と%で表される

10%

person_jobtitle

Oracle提供ディクショナリ

肩書で参照される個人

社長、教授

person_name

Oracleが提供するルール

名前で参照される個人

John Doe

person_other

Oracle提供ディクショナリ

他のタイプの個人

他のタイプの個人(犯罪者など)

phone_number

Oracleが提供するルール

電話番号

(123)-456-7890

postal_address

Oracleが提供するルール

郵送先住所

Redwood Shores, CA

product

Oracle提供ディクショナリ

製品名

Oracle Text

region

Oracle提供ディクショナリ

地域名

北アメリカ

ssn

Oracleが提供するルール

社会保障番号

123-45-6789

state

Oracle提供ディクショナリ

州や県

カリフォルニア

time_duration

Oracleが提供するルール

時間の長さ

10秒

tod

Oracleが提供するルール

時刻

午前8時

url

Oracleが提供するルール

Webアドレス

www.example.com

zip_code

Oracleが提供するルール

郵便番号

CA 94065

例10-1 ドキュメントの電子メール・アドレスを検索する抽出ルールの定義

次の例は、抽出ルールの定義方法およびエンティティ抽出ポリシーへの関連付け方法を示しています。次に、ドキュメントの電子メール・アドレスを検索する簡単な抽出ルールを定義します。

begin
  ctx_entity.add_extract_rule('pol1', 1,
  '<rule>
    <expression>email is (\w+@\w+\.\w+)</expression>
    <type>email_address</type>
   </rule>');
end;
/

詳細は次のとおりです。

  • 「My email address is jdoe@company.com」という文の場合、この抽出ルールはemail_addressエンティティ・タイプとして「jdoe@company.com」を抽出します。

  • ルールがpol1という抽出ポリシーに追加されます。

  • ルールIDに1が使用されて、ルールが追加されます。

  • このルールのXMLの説明は、次のとおりです。

    • ルール・タグの言語属性は空のままです。このため、ルールがすべての言語に適用されます。

    • 式タグは、抽出で使用する正規表現を含みます。

例10-2 ドキュメントの電話番号を検索する抽出ルールの定義

次に、ドキュメントの電話番号を検索する簡単な抽出ルールを定義します。

begin
  ctx_entity.add_extract_rule('pol1', 2,
  '<rule language="english">
     <expression>(\(d{3}\) \d{3}-\d{3}-\d{4})</expression>
     <comments>Rule for phone numbers</comments>
     <type>email_address</type>
   </rule>');
end;
/

詳細は次のとおりです。

  • 「I can be contacted at (123) 456-7890」という文の場合、この抽出ルールはphone_numberエンティティ・タイプとして「(123) 456-7890」を抽出します。

  • ルールがpol1という抽出ポリシーに追加されます。

  • ルールIDに2が使用されて、ルールが追加されます。

  • ルールのXMLの説明は、次のとおりです。

    • ルール・タグの言語属性はenglishに設定されます。このため、ルールが英語のドキュメントにのみ適用されます。

    • 式タグは、抽出で使用する正規表現を含みます。

    • 説明のコメントがこのルールと関連付けられます。

例10-3 ユーザー定義のタイプを使用している抽出ルールの定義

次の例では、ユーザー定義のタイプを使用してドキュメントのエンティティを検索する抽出ルールを定義する方法を示します。

begin 
  ctx_entity.add_extract_rule('pol1', 1, 
  '<rule>
     <expression>([a-z]+)</expression>
     <type>my_type</type>
   </rule>');
end;
/
begin
  ctx_entity.add_extract_rule('pol1', 2,
  '<rule>
     <expression>(\d\c(my_type)?\s^\c(my_type))</expression>
     <type>type_comp</type>
     <comments>Rule with nested type</comments>
  </rule>');
end;
/

10.2 ADD_STOP_ENTITY

このプロシージャを使用して、抽出されない特定のエンティティ参照またはエンティティ・タイプをマークします。インボーカは、独自の抽出ポリシーにストップ・エンティティを追加します。CTX_ENTITY.COMPILEを実行するまで有効になりません。entity_nameentity_typeのいずれか一方をNULLにできますが、両方をそう設定することはできません。あるストップ・エンティティ別のストップ・エンティティのサブセットである場合、CTX_ENTITY.COMPILEの後にサブセットとしてマークされ、抽出には使用されません。このプロシージャは、コミットを発行します。

構文

CTX_ENTITY.ADD_STOP_ENTITY(
  policy_name                 IN VARCHAR2,
  entity_name                 IN INTEGER,
  entity_type                 IN VARCHAR2 DEFAULT NULL,
  comments                    IN VARCHAR2 DEFAULT NULL);
policy_name

追加されるストップ・エンティティのポリシー名を指定します。

entity_name

ストップ・エンティティとしてリストするエンティティ名を指定します。entity_typeNULLの場合、このentity_nameのすべての参照がストップ・エンティティとしてリストされます。大/小文字が区別されます。

entity_type

entity_nameNULLの場合、エンティティ・タイプ全体をストップ・エンティティとしてリストするように指定されます。entity_nameNULLでない場合、<entity_type, entity_name>のみがストップ・エンティティとして指定されます。大/小文字を区別しません。最大バイト長は、4000バイトです。

comments

最大バイト長は、4000バイトです。

次の例は、すべての個人に対応するストップ・エンティティを追加します。コンパイル後、抽出でpersonエンティティ・タイプの参照はレポートされません。

exec ctx_entity.add_stop_entity('pol1', NULL, 'person');

次の例は、<'person', 'john doe'>に対応するストップ・エンティティを追加します。コンパイル後、抽出で<'person', 'john doe'>のペアはレポートされなくなります。このストップ・エンティティは、実際には最初に追加されたストップ・エンティティのサブセットです。CTX_USER_EXTRACT_STOP_ENTITIESビューでサブセットとマークされ、抽出では使用されません。

exec ctx_entity.add_stop_entity('pol1', 'john doe', 'person');

次の例は、fordのすべての参照に対応するストップ・エンティティを追加します。コンパイル後、エンティティ・タイプの参照に関係なく、抽出でfordエンティティの参照がレポートされません。たとえば、fordと個人が対応するルールの場合、抽出でこの一致はレポートされません。fordと企業が対応するルールの場合も、抽出でこの一致はレポートされません。

exec ctx_entity.add_stop_entity('pol1', 'ford', NULL);

10.3 COMPILE

このプロシージャは、追加された抽出ルールを抽出ポリシーにコンパイルします。これを使用して、追加されたストップ・エンティティを抽出ポリシーにコンパイルすることもできます。ポリシーにルールまたはストップ・エンティティを追加した場合は、このプロシージャを呼び出す必要があります。

インボーカは、ルールおよびストップ・エンティティを独自の抽出ポリシーにコンパイルします。ユーザーは、追加されたルールまたはストップ・エンティティおよび両方のコンパイルを選択できます。

コンパイル後、エンティティ抽出で使用されているルール、ストップ・エンティティおよびタイプがCTX_USER_EXTRACT_RULESCTX_USER_EXTRACT_STOP_ENTITIESおよびCTX_USER_EXTRACT_TYPEの各ビューに表示されます。

構文

CTX_ENTITY.COMPILE(
  policy_name                 IN VARCHAR2,
  compile_choice              IN NUMBER DEFAULT COMPILE_ALL,
  locking                     IN NUMBER DEFAULT LOCK_NOWAIT_ERROR,
  storing                     IN BOOLEAN DEFAULT TRUE);
policy_name

コンパイルされるポリシー名を指定します。

compile_choice

ストップ・エンティティとしてリストするエンティティ名を指定します。entity_typeNULLの場合、このentity_nameのすべての参照がストップ・エンティティとしてリストされます。大/小文字が区別されます。

オプションは、COMPILE_ALLCOMPILE_RULES、およびCOMPILE_STOP_ENTITIESです。COMPILE_ALLは、ルールおよびストップ・エンティティをコンパイルします。COMPILE_RULESは、ルールのみコンパイルします。COMPILE_STOP_ENTITIESは、ストップ・エンティティのみコンパイルします。

locking

最大バイト長は、4000バイトです。別のCOMPILEが同じポリシーですでに実行されている場合のCOMPILEの対応を構成します。

lockingのオプションは、次のとおりです。

  • CTX_ENTITY.LOCK_WAIT

    別のコンパイルが実行されている場合は、実行中のコンパイルが完了するまで待機してからコンパイルを開始します。(ロックを取得できない場合は無制限に待機し、maxtime設定は無視されます。)

  • CTX_ENTITY.LOCK_NOWAIT

    別のコンパイルが実行されている場合は、エラーなしで即時に戻ります。

  • CTX_ENTITY.LOCK_NOWAIT_ERROR

    別の同期化が実行されている場合は、「DRG-51313: DMLまたは最適化ロックを待機中にタイムアウトになりました」というエラーが発生します。

storing

デフォルト値はTRUEです。エンティティ抽出で使用されるデータは、エンティティ抽出のパフォーマンスを向上させるために格納されます。エンティティ抽出で使用されたデータの格納を停止するには、FALSEを指定します。

次の例は、デフォルト設定を使用してポリシーをコンパイルします。

exec ctx_entity.compile('pol1');

次の例は、ポリシーのストップ・エンティティのみコンパイルします。

exec ctx_entity.compile('pol1', CTX_ENTITY.COMPILE_STOP_ENTITIES);

次の例は、ルールおよびストップ・エンティティをコンパイルします。ロックが存在する場合、ファンクションが即時に戻されますが、エラーは発生しません。

exec ctx_entity.compile('pol1', CTX_ENTITY.COMPILE_ALL,
                                CTX_ENTITY.LOCK_NOWAIT);

10.4 CREATE_EXTRACT_POLICY

CREATE_EXTRACT_POLICYプロシージャは、使用する抽出ポリシーを作成します。ポリシーの所有者のみ、このポリシーを使用できます。

構文

CTX_ENTITY.CREATE_EXTRACT_POLICY(
  policy_name                   IN VARCHAR2,
  lexer                         IN VARCHAR2 DEFAULT NULL,
  include_supplied_rules        IN BOOLEAN DEFAULT TRUE,
  include_supplied_dictionary   IN BOOLEAN DEFAULT TRUE
);
policy_name

新しい抽出ポリシーの名前を指定します。

lexer

レクサー・プリファレンスの名前を指定します。AUTO_LEXERのみがサポートされています。指定しない場合、CTXSYS.DEFAULT_EXTRACT_LEXERが使用されます。index_stemsおよびderiv_stems属性は使用できません。

include_supplied_rules

Oracleから提供されるルールがエンティティ抽出に含まれるかどうかを指定します。falseの場合、自動的な頭字語解決がオフになります。デフォルトはtrueです。

include_supplied_dictionary

Oracleから提供されるディクショナリがエンティティ抽出に含まれるかどうかを指定します。デフォルトはtrueです。

次の例は、デフォルト設定を使用した抽出ポリシーを作成します。デフォルトでは、ルールとディクショナリなどのOracleから提供される機能が使用可能です。

exec CTX_ENTITY.CREATE_EXTRACT_POLICY('pol1');

次の例は、明示的に特定のパラメータを指定する抽出ポリシーを作成します。使用するレクサーをmylexとして指定しており、それをAUTO_LEXERプリファレンスとして実行する必要があります。Oracleが提供するルールも含まれますが、Oracleが提供するディクショナリは無効化されます。

exec CTX_ENTITY.CREATE_EXTRACT_POLICY('pol2', 'mylex', TRUE, FALSE);

10.5 DROP_EXTRACT_POLICY

DROP_EXTRACT_POLICYプロシージャは、抽出ポリシーを削除します。ポリシーの所有者のみ、これらのポリシーを削除できます。このプロシージャは、コミットを発行します。

構文

CTX_ENTITY.DROP_EXTRACT_POLICY(
  policy_name                 IN VARCHAR2
);
policy_name

削除する抽出ポリシーの名前を指定します。

次の例は、pol2抽出ポリシーを削除します。

exec ctx_entity.drop_extract_policy('pol2');

10.6 EXTRACT

EXTRACTプロシージャは、指定されたドキュメントのエンティティ抽出を実行し、ドキュメントで検出されたエンティティを示すXMLドキュメントを生成します。XMLドキュメントは、エンティティのテキスト、タイプ、およびドキュメント内の場所を提供します。抽出には、指定された抽出ポリシーで定義された設定(ルール、ストップ・エンティティ、ディクショナリ)を使用します。

エンティティ・タイプ名の結果は大文字になります。インボーカは、独自の抽出ポリシーを使用して抽出を実行できます。

実行前に、CTX_ENTITY.COMPILEを発行する必要があります。

構文

CTX_ENTITY.EXTRACT(
  policy_name                 IN VARCHAR2,
  document                    IN CLOB,
  language                    IN VARCHAR2,
  result                      IN OUT NOCOPY CLOB,
  entity_type_list            IN CLOB DEFAULT NULL
);
policy_name

指定されたポリシーを使用して、抽出を実行します。

document

抽出を実行する入力ドキュメント。

entity_typeNULLの場合、このentity_nameのすべての参照がストップ・エンティティとしてリストされます。大/小文字が区別されます。

language

英語のみがサポートされています。

result

ドキュメントから抽出されたエンティティのXMLを含むCLOB

entity_typeNULLの場合、このentity_nameのすべての参照がストップ・エンティティとしてリストされます。大/小文字が区別されます。

entity_type_list

抽出にエンティティタイプのサブセットのみを考慮する場合に指定します。entity_type_listは、カンマで区切られたリストです。entity_type_listが指定されない場合、エンティティ抽出にすべてのエンティティタイプが考慮されます。

次の例は、サンプルのドキュメントのエンティティ抽出の結果を示しています。pol1という抽出ポリシーを作成した場合、入力ドキュメントは次のようになります。

Sam A. Schwartz retired as executive vice president of Hupplewhite INc. in New York.

次に、ctx_entity.extractプロシージャをコールして、このドキュメントのエンティティを含むXMLドキュメントを生成します。今後の参照のために結果のCLOBentitiesという表に挿入します。

declare
  myresults clob;
begin
  select txt into mydoc from docs where id=1;
  ctx_entity.extract('p1', mydoc, null, myresults);
  insert into entities values(1, myresults);
  commit;
  end;
/

これで、entities表から抽出されたエンティティを調査できます。エンティティの分類に使用されるソースとともに、各エンティティに入力ドキュメントの場所がタグ付けされます。

<entities>
<entity id="0" offset="75" length="8" source="SuppliedDictionary">
<text>New York</text>
<type>city</type>
</entity>
<entity id="1" offset="55" length="16" source="SuppliedRule">
<text>Hupplewhite Inc.</text>
<type>company</type>
</entity>
<entity id="2" offset="27" length="24" source="SuppliedDictionary">
<text>Sam A. Schwartz</text>
<type>person_name</type>
</entity>
<entity id="4" offset="75" length="8" source="SuppliedDictionary">
<text>New York</text>
<type>state</type>
</entity>
</entities>

10.7 IMPORT_DICTIONARY

CTX_ENTITY.IMPORT_DICTIONARYプロシージャを使用して、エンティティ抽出ユーザー辞書をOracle Text表にインポートします。

インポート・ディクショナリは、関連付けられている型と代替形式を使用した、エンティティのエントリを含むXMLです。XML Schemaは、エンティティ抽出ユーザー・ディクショナリ・ローダー(ctxload)で使用されるXML Schemaと同じです。ポリシーごとにロードできるユーザー・ディクショナリは1つのみです。

構文

CTX_ENTITY.IMPORT_DICTIONARY(
  policy_name               IN VARCHAR2,
  data                      IN CLOB,
  isdrop                    IN BOOLEAN DEFAULT FALSE);
policy_name

ポリシーの名前を指定します。

data

XMLディクショナリを指定します。

XML Schemaは次のとおりです。

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsd:element name="dictionary">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element name="entities" type="entityType" maxOccurs="unbounded"/>
    </xsd:sequence>
  <xsd:complexType>
</xsd:element>

<xsd:complexType name="entityType">
  <xsd:sequence>
    <xsd:element name="entity" type="entType" maxOccurs="unbounded"/>
  </xsd:sequence>
  </xsd:attribute name="language" type="xsd:string"/>
</xsd:complexType>

<xsd:complexType name="entType">
  <xsd:sequence>
    <xsd:element name="value" type="xsd:string"/>
    <xsd:element name="type" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
    <xsd:element name="alternate" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>
isdrop

現在のユーザー・ディクショナリを削除する必要があるかどうかを指定します。デフォルト値はFALSEです。

例10-4 Oracle Text表へのエンティティ抽出ユーザー・ディクショナリのインポート

この例では、CTX_ENTITY.IMPORT_DICTIONARYプロシージャを使用してOracle Text表にエンティティ抽出ユーザー・ディクショナリをインポートする方法を示します。

デフォルト設定を使用して抽出ポリシーを作成します。デフォルトでは、ルールとディクショナリなどのOracleから提供される機能が使用可能です。

exec ctx_entity.create_extract_policy('mypol')

エンティティ抽出ユーザー・ディクショナリをインポートし、抽出ポリシーをコンパイルします。次に、入力ドキュメントでエンティティ抽出を実行します。現在のユーザー・ディクショナリを削除する必要があるかどうかを指定することもできます。

declare
   datadic clob;
   doc     clob;
   res     clob;
 begin
   datadic := '<dictionary>
   <entities language="english">
     <entity>
       <value>NewEntry</value>
       <type>MyType</type>
     </entity>
   </entities>
   </dictionary>';

   ctx_entity.import_dictionary('mypol', datadic);
   ctx_entity.compile('mypol');
  
   doc := 'NEWENTRY';
   ctx_entity.extract('mypol', doc, 'english', res);

   dbms_output.put_line(res);

   -- Dropping dictionary
   ctx_entity.import_dictionary('mypol', null, isdrop=>true);
   ctx_entity.compile('mypol');

   ctx_entity.extract('mypol', doc, 'english', res);
   dbms_output.put_line(res);
 end;
 /

10.8 REMOVE_EXTRACT_RULE

REMOVE_EXTRACT_RULEプロシージャは、指定されたポリシーからrule_idの抽出ルールを削除します。指定されたポリシーの所有者のみ、ポリシーから抽出ルールを削除できます。CTX_ENTITY.COMPILEの実行後、抽出ルールの削除が有効になります。

構文

CTX_ENTITY.REMOVE_EXTRACT_RULE(
  policy_name                 IN VARCHAR2,
  rule_id                     IN INTEGER
);
policy_name

指定されたポリシーから抽出ルールを削除します。

rule_id

削除する抽出ルールのルールIDを指定します。

次の例は、pol1ポリシーからIDが1の抽出ルールを削除します。

exec ctx_entity.remove_extract_rule('pol1', 1);

10.9 REMOVE_STOP_ENTITY

REMOVE_STOP_ENTITYプロシージャは、抽出ポリシーからストップ・エンティティを削除します。指定されたポリシーの所有者のみ、ポリシーからストップ・エンティティを削除できます。ストップ・エンティティの削除は、CTX_ENTITY.COMPILEの実行後に有効になります。entity_nameまたはentity_typeにNULLを指定できますが、両方には指定できません。

構文

CTX_ENTITY.REMOVE_STOP_ENTITY(
  policy_name                 IN VARCHAR2,
  entity_name                 IN INTEGER DEFAULT NULL,
  entity_type                 IN VARCHAR2 DEFAULT NULL
);
policy_name

指定されたポリシーからstop_entityを削除します。

entity_name

ストップ・エンティティ・リストから削除される名前を指定します。CTX_ENTITY.ADD_STOP_ENTITYを使用して、あらかじめstop_entitystop_entityリストに追加されている必要があります。

entity_type

ストップ・エンティティ・リストから削除されるエンティティのタイプを指定します。CTX_ENTITY.ADD_STOP_ENTITYを使用して、あらかじめstop_entityがストップ・エンティティ・リストに追加されている必要があります。

exec ctx_entity.remove_stop_entity('pol1', NULL, 'person_name');

例の文は、pol1ポリシーからentity_type person_nameのすべての参照に対応するストップ・エンティティを削除します。実行後、このストップ・エンティティは、CTX_USER_EXTRACT_STOP_ENTITIESビューで「to be deleted」としてマークされます。ユーザーがCTX_ENTITY.COMPILEを実行すると、ストップ・エンティティの削除が有効になります。