この章の構成は、次のとおりです。
Oracle Database 12cでOracleTextSearch機能を使用するライセンスがある場合、Oracle Text製品をWebCenter Contentのプライマリ・フルテキスト検索エンジンとして使用するようにOracleTextSearchを構成できます。Oracle Textは最新の索引付け機能を提供し、Oracle Secure Enterprise Search (Oracle SES)の基礎となる検索機能を提供します。ただし、Oracle Textには独自の問合せ構文があり、一般的なエンドユーザーではなくアプリケーションまたは情報の専門家による使用を対象としています。
OracleTextSearchにより、管理者は、特定のメタデータ・フィールドを検索索引用に最適化するように指定したり、追加のフィールドをカスタマイズできます。また、この機能を使用すると、索引再構築と索引の最適化を迅速に実行することもできます。
この項の内容は次のとおりです。
OracleTextSearch機能の使用を検討する上で重要な事項を、次に示します。
WebCenter Contentバージョン12cでは、Oracle Textがサポートするすべての言語がサポートされます。OracleTextSearchは、様々な言語の様々なドキュメント・フォーマットのコンテンツをフィルタリングおよび抽出できます。Microsoft Officeファイル形式、Adobe PDF、HTML、XMLなど、多数のドキュメント・フォーマットがサポートされています。検索結果は、未フォーマットのテキスト、検索語を強調表示するHTML、元のドキュメント・フォーマットなど、様々なフォーマットでレンダリングできます。
Oracle Textは、Oracle Database 12cで実行されます。コンテンツ・サーバーのデータベースは、Oracle Database 12c、Microsoft SQL Server、またはOracle WebCenter Content 12cの動作保証マトリックスに記載されている他のデータベースにすることができます。ただし、システム・データベースがOracle Database 12cでない場合は、OracleTextSearchのための外部プロバイダを構成する必要があります。外部プロバイダの詳細は、「コンテンツ・サーバー用のOracleTextSearchの構成」を参照してください。
OracleTextSearchを使用する場合は、Oracle Databaseバージョン11.1.0.7.0以上が必要です。
OracleTextSearchで最適化されたフィールドはSDATAフィールドとして作成され、最大249文字に制限されます。この制限はOracle Databaseによって適用され、OracleTextSearchコンポーネントによりコンテンツ・サーバーに反映されます。デフォルトのSDATAフィールドには、dDocName、dDocTitle、dDocTypeおよびdSecurityGroupがあります。SDATAフィールドの合計数は、32フィールドに制限されます。Folders_gコンポーネントが有効化されていない場合、dDocTitleフィールドはデフォルトで80文字に制限されます。
WebCenter Contentには各種データベース(Oracle、Microsoft SQL Server、IBM DB2)を使用する多数の検索オプションが備わっていますが、デフォルトでは、検索索引として機能するデータベースはWebCenter Contentでメタデータやその他の構成情報(ユーザー、セキュリティ・グループなど)の管理に使用されるのと同じシステム・データベースです。OracleTextSearch機能は、Oracle TextをWebCenter ContentのOracle Database 12c上の別の検索コレクション・インスタンスとして有効にすることにより、検索コレクションが別のコンピュータ上に存在し、プロセッサやメモリーのためにWebCenter Contentと競合しないようにできます。その結果、索引付けおよび検索のレスポンス時間を短縮できます。
OracleTextSearchコレクション・インスタンスは、WebCenter Contentインストールとは異なるプラットフォームにインストールできます。
管理者またはコンポーネントによってOracleTextSearch機能が構成および実行され、メタデータ・フィールドがコンテンツ・サーバー・インスタンスにプッシュされる場合(コンテンツ・サーバー・インスタンスの再起動が必要です)、新規メタデータ・フィールドを使用してコンテンツをコンテンツ・サーバー・インスタンスにチェックインする前に、OracleTextSearch索引を再構築する必要があります。
この項の内容は次のとおりです。
Oracle Textの使用により、WebCenter Contentの索引付けの速度が大幅に向上します。Oracle Textの索引付けは、トランザクションです。コンテンツ・サーバーは、ドキュメントのバッチをOracle Textに送信し、バッチをコミットしてから、Oracle Textインデクサを起動します。コンテンツ・サーバーには、索引付けに失敗したドキュメントが通知され、それらのドキュメントのみが索引付けのために再送信されます。追加の機能には、コンテンツ・サーバー・インスタンスに5,000ドキュメントが追加されるたびに実行される自動の高速最適化と、50,000ドキュメントごとにまたはリポジトリが20%増加するたびに実行される完全最適化があります。コンテンツ・サーバーのメタデータのみの検索問合せにOracle Textを使用すると、パフォーマンスが下がる場合があります。
WebCenter Contentでは、いくつかの最新のOracle Text機能を使用しています。たとえば、コンテンツ・サーバーでは、検索速度を上げるために、テキスト情報フィールドごとに新しい検索索引ゾーンが自動的に作成されます。情報ゾーンを使用すると、コンテンツ・サーバーでデータがフルテキスト・データであるかのようにデータを問い合せることができます。テキストベースの情報フィールド(テキスト、ロング・テキストおよびメモ)すべてが、別々のゾーンとして自動的に追加されます。テキスト情報フィールド用に作成されるゾーンに加えて、コンテンツ・サーバーにはIdcContentという追加ゾーンも用意されており、これにより、カスタム・コンポーネント、Oracle WebCenter Content: Inbound Refineryのコンポーネント、アプリケーションまたはユーザーは、フルテキスト・メタデータ・フィールドとして索引付けされるタグ付きXMLコンテンツを作成できます。
WebCenter Contentでは、Oracle TextのSDATAセクション機能を使用して、重要なテキスト、日付および整数の各フィールドに索引を設定し、これらのフィールドを最適化フィールドとして定義します。SDATAセクションはOracle Textエンジンが管理する独立したXML構造で、この構造によって、エンジンはデータと整数の範囲が含まれているリクエストに対して迅速に応答できます。コンテンツ・サーバーでは最大で32の最適化フィールドを保持でき、これらの最適化フィールドには、データ、整数、Content Serverの標準フィールド(dInDate、dOutDate、最適化対象として選択したフィールドなど)が格納されます。最適化されたすべてのフィールドはSDATAフィールドで、デフォルトではdDocName、dDocTitle、dDocTypeおよびdSecurityGroupが含まれます。
注意:
Oracle Textに定義された一連の最適化フィールドを変更する場合、定義できる最大最適化フィールド数は32です。
索引付けのエラーを防ぐために、存在しないメタデータ・フィールドを構成マネージャのDrillDownFieldsパラメータに追加しないでください。また、SDATAセクションまたはDrillDownFieldsパラメータにメモ・フィールドを追加しないでください。構成マネージャの詳細は、『Oracle WebCenter Contentのマネージング』を参照してください。
OracleTextSearchでは、リポジトリ・マネージャ・アプリケーションの「インデクサ」タブで「コレクション再構築サイクル」ウィンドウを使用する際、「インデクサの再構築」ウィンドウが用意されています。高速再構築機能により、検索エンジンは、コレクション全体を再構築することなく、検索コレクションに新しい情報を追加できます。高速再構築は次の場合に必要です。
情報フィールドの追加または削除
任意の最適化フィールドの変更
情報フィールドの最適化フィールドへの変更
高速再構築により、すべての情報(メタデータとフルテキスト)に索引が付け直されるわけではありません。コレクション全体に変更を追加し、更新します。高速再構築サイクル中にコンテンツ・サーバーの検索機能に対する影響はありません。
高速再構築の実行については、「高速再構築の実行」を参照してください。
Universal Query Syntaxで定義されている問合せがサポートされており、通常変更は不要です。これには、ユーザーが保存した問合せ、カスタム・コンポーネントで定義された問合せ、Site Studioのページで定義された問合せが含まれます。
Oracle Textでは、次のデフォルトがサポートされています。
CONTAINS
MATCHES
Has Word Prefix
日付および整数の範囲検索
表10-1 Oracle Text検索演算子と関数
問合せ演算子 | 説明 |
---|---|
ABOUT |
可能な場合はテーマ検索を実行し、問合せからより多くの関連ドキュメントが返されます。 |
ACCUMulate (,) |
問合せ語句のいずれかが1つ以上出現するドキュメントを検索します。検出された語句が多いほど関連性が高くなります。 |
BROADER TERM(BT、BTG、BTP、BTI) |
シソーラスで広義語または上位語として定義されている語句を含めるように問合せを拡張します。 |
DEFINEMERGE |
ANDおよびORの子ノードのスコアをマージする方法を定義します。 |
DEFINESCORE |
等価の語、句または語句の集まりのスコアリング方法を定義します。 |
EQUIValence (=) |
問合せで代替置換する語を指定します。 |
FUZZY |
指定した語と類似のスペルまたは音声を持つ語を含めるように問合せを拡張します。 |
HASPATH |
指定したセクション・パスを含むすべてのXMLドキュメントを検索します。 |
INPATH |
XMLドキュメントの特定のパス内で検索します。 |
MDATA |
MDATA (メタデータ)セクションの問合せを実行します。 |
MINUS (-) |
特定の語句が含まれるドキュメントの関連性を下げますが、それらが除外されるとはかぎりません。 |
NARROWER TERM(NT、NTG、NTP、NTI) |
指定した語の狭義語または下位語としてシソーラスに定義されているすべての語を含めるように、問合せを拡張します。 |
NEAR (;) |
2つ以上の問合せ語の近似性に基づいてスコアを返します。 |
Preferred Term (PT) |
問合せの語を、シソーラスに定義されたその語の優先語に置換します。 |
Related Term (RT) |
問合せの語を、シソーラスに定義されたその語の関連語に置換します。 |
SDATA |
構造化データ値が含まれるSDATAセクションおよび列のテストを実行します。 |
soundex (!) |
類似の音声を持つ語を含めるように問合せを拡張します。 |
stem ($) |
問合せ語と同じ語幹を持つ語を検索します。 |
ストアド・クエリー式(SQE) |
CTX_QUERY.STORE_SQEプロシージャにより作成されたストアド・クエリー式を呼び出します。 |
SYNONYM(SYN) |
指定した語の同義語としてシソーラスに定義されているすべての語を含めるように問合せを拡張します。 |
threshold (>) |
この演算子は、式レベルでは、スコアがしきい値の数値未満のドキュメントを結果セットから排除します。この演算子は、問合せ語のレベルでは、ドキュメント内の語のスコアに基づいてドキュメントを選択します。 |
Translation Term (TR) |
シソーラスに定義されたすべての外国語の等価語を含めるように問合せを拡張します。 |
TRANSLATION TERM SYNONYM(TRSYN) |
問合せ語と等価であると定義されたすべての外国語、問合せ語のシノニム、およびシノニムと等価の外国語を含めるように問合せを拡張します。 |
Top Term (TT) |
問合せ語を、シソーラスの標準階層に定義されたその語の最上位語と置換します。 |
weight (*) |
指定した係数をスコアに掛け、スコアが100を超えた場合、最高値は100です。 |
ワイルドカード(% _) |
ワード検索をパターン検索に拡張します。 |
WITHIN |
問合せをドキュメントのセクション内に絞り込みます。 |
stemやRelated Termなどの特定の問合せは、Oracle Textシソーラスを使用すると、効果が上がる場合があります。Oracle Textを使用すると、語や句のシノニムや階層上の関係を定義する、大/小文字の区別ありまたは大/小文字の区別なしのシソーラスを作成できます。その結果、問合せを拡張してシソーラスに定義されている類義語または関連語を含めることで、関連テキストを含むドキュメントを検索し、取得できます。たとえば、特定の製品名、関連モデル、関連機能などをシソーラスに入れることができます。
デフォルトのシソーラス: 問合せでシソーラスの名前を指定しないと、デフォルトでは、シソーラスの演算子はDEFAULTというシソーラスを使用します。ただし、Oracle TextにはDEFAULTシソーラスは用意されていません。
その結果、シソーラス演算子にデフォルトのシソーラスを使用する場合は、DEFAULTという名前のシソーラスを作成する必要があります。このシソーラスの作成には、Oracle Textがサポートしている次のシソーラス作成方法を使用できます。
CTX_THES.CREATE_THESAURUS
(PL/SQL)
ctxload
ユーティリティ
提供されるシソーラス: Oracle Textではデフォルトのシソーラスはありませんが、ctxload
によりロードするファイル形式のシソーラスが提供されており、汎用の英語シソーラスの作成に使用できます。
シソーラス・ロード・ファイルは、Oracle Text用のデフォルト・シソーラスの作成に使用でき、また特定のサブジェクトや、サブジェクトの範囲にあわせたシソーラスの作成の基礎として使用することもできます。
注意:
ctxload
およびCTX_THES
パッケージの使用方法の詳細は、『Oracle Textリファレンス』および『Oracle Textアプリケーション開発者ガイド』の「Oracle Textでのシソーラスの使用」を参照してください。
コンテンツ・サーバーでは、問合せは自動的に大文字と小文字を区別しないものとして実行されます。デフォルトでは、フルテキストおよびテキスト・フィールド検索の問合せは、すべて大文字と小文字の区別はありません。コンテンツ・サーバーでは、最適化フィールドとして格納されている情報に対する大文字と小文字を区別しない検索問合せも処理します。
ステミングはOracle Textの機能で、stem ($)演算子を使用して、問合せ語句と同じ言語学上の語根を持つ語句を検索します(構文は$
term
)。たとえば、$sing
と入力すると、sang
sung
sing
を含むように検索が拡張されます。ステミング・ルールは、複数形、動詞などの検索アカウントを設定するときに使用できます。コンテンツ・サーバーは、デフォルトではOracle Textにステミング・ルールを適用しませんが、stem ($)演算子を使用することで、ステミング・ルールのセットを作成できます。ステミング・ルールを実装する方法には他に、searchindexerrules
構成ファイル(カスタム・コンポーネントが必要)での標準問合せ定義の変更や、Oracle Textエンジン(Oracle Database)での構成の変更があります。
注意:
詳細は、『Oracle Textリファレンス』のOracle Text CONTAINS問合せ演算子に関する章を参照してください。
コンテンツ・サーバーでは、Oracle TextエンジンでWORLD_LEXER機能を使用することで、英語以外の言語のコンテンツを処理します。これにより、Oracle Textは自動的に言語を識別し、適切なトークン化ルールを適用できます。
コンテンツ・サーバーでは、Oracle Text検索機能を使用して、検索結果リストについての追加情報を取得し、「検索結果」ページの新しいメニュー・バーに表示しますこの情報には、特定の情報フィールドの特定の値にどれだけのドキュメントが添付されているかが要約されています。コンテンツ・サーバーでは、最大4つの情報フィールドのクラスタリングがサポートされています(デフォルトのフィールドは、「セキュリティ・グループ」と「ドキュメント・タイプ」)。
これは、多くのアイテムを返す問合せの場合に役に立ちます。たとえば、結果セットに、「Public」セキュリティ・グループに属する100のドキュメント、「Sales」グループに属する75のドキュメント、および「Marketing」グループに属する25のドキュメントを含む、200のコンテンツ・アイテムが含まれているとします。「セキュリティ・グループ」のメニュー・オプションには、値リストと、各値に属するドキュメント数が表示されます。メニューから値(「Public」、「Sales」、「Marketing」)の1つを選択すると、その値に属するドキュメントのみが結果セットのリストに示されます。
コンテンツ・サーバーでは、使用される文脈での検索語の出現を示すために、検索結果の一部としてドキュメントのスニペットを取得できます。この機能はデフォルトで無効です。この機能を有効にするには、config.cfgファイルで次の構成エントリを設定します。ただし、検索問合せのパフォーマンスに影響することがあります。
OracleTextDisableSearchSnippet=false
Oracle Textの使用によって生じるその他の変更点は次のとおりです。
XMLコンテンツには、自動的に索引が付けられます。
「検索」ユーザー・インタフェースには、検索演算子オプションとして「Substring」が削除されている以外に目に見える変更はありません。デフォルトの検索演算子は、CONTAINS、MATCHESおよびHAS WORD PREFIXです。部分文字列ベースの問合せはそのまま機能します。
MATCHES演算子を非最適化フィールドで使用する問合せは、CONTAINS問合せと同じ動作をします。たとえば、xDepartment
が最適化されていない場合、問合せxDepartment MATCHES 'Marketing'
はxDepartment CONTAINS 'Marketing'
と同じ動作をし、コンテンツ・アイテムで'Marketing Services'
または'Product Marketing'
のxDepartment
値を持つヒットを返します。
関連性ランキングは、DEFINESCOREと呼ばれる演算子の使用を介してOracle Textで変更することができます。この演算子は、SearchQueryDefinition
表(Oracle Textのsearchindexerrules
構成ファイル内)のOracleTextSearch
のWhereClause
値にコンポーネントを使用して追加できます。この演算子の詳細は、『Oracle Textリファレンス』を参照してください。
以前はフルテキスト検索ボックスに入力していたような複雑な問合せを、現在は「クエリー・ビルダー・フォーム」の詳細オプションに入力します。「クエリー・ビルダー・フォーム」の詳細は、『Oracle WebCenter Contentの使用』を参照してください。
エスケープ文字を指定する必要がある場合は、構成変数AdditionalEscapeChars=
を使用します。デフォルト設定は次のとおりです。
AdditionalEscapeChars=_:#,-:#
デフォルトでは、アンダースコア(_)とハイフン(-)がエスケープ文字として設定されます。
PDFの強調表示機能は無効になりました。
スペル・チェック機能は有効にできますが、Autonomy VDKの場合と同様に、カスタム・コンポーネントが必要です。
コンテンツ・サーバーを最初にインストールするときにOracleTextSearchを指定しなかった場合、この機能を構成するには、次の手順を実行します。
最初にコンテンツ・サーバーでOracleTextSearchを使用した外部プロバイダを使用するよう構成したものの、SystemDatabase
の使用に切り替える必要がある場合は、システム・データベース・スキーマに対してcontentprocedures.sql
スクリプトを手動で実行する必要があります。このスクリプト・ファイルはWC_CONTENT_ORACLE_HOME
/ucm/idc/database/oracle/admin/
ディレクトリにあります。
この項の内容は次のとおりです。
最適化するフィールドを決定するときには、次のことを考慮します。
問合せで完全一致検索を行うか。
検索で照合を高速化するか。
検索結果をフィールド別にソートするか。
デフォルトでは、OracleTextSearch機能で、「コンテンツID」および「ドキュメント・タイトル」メタデータ・フィールドが最適化されます。
最大32フィールドを、Oracle Text Search機能で最適化フィールドとして定義できます。コンテンツ・サーバー・インスタンスでは最大で32の最適化フィールドを保持でき、これらの最適化フィールドには、データ、整数、コンテンツ・サーバーの標準フィールド(dInDate、dOutDate、最適化対象として選択したフィールドなど)が格納されます。最適化されたすべてのフィールドはSDATAフィールドで、デフォルトではdDocName、dDocTitle、dDocTypeおよびdSecurityGroupが含まれます。
整数フィールドの表示は動的で、コンテンツ・サーバー構成に依存します。
メタデータの非最適化フィールドを選択し、検索のための最適化フィールドに割り当てたり、最適化フィールドを編集して非最適化にすることができます。
最適化フィールドの割当てまたは編集を行う手順:
注意:
高速再構築は、検索コレクションの再構築が進行中の場合は機能しません。
高速再構築機能により、検索エンジンは、コレクション全体を再構築することなく、検索コレクションに新しい情報を追加できます。高速再構築は次の場合に必要です。
情報フィールドの追加または削除
任意の最適化フィールドの変更
情報フィールドの最適化フィールドへの変更
高速再構築を行うには、次の手順を実行します。
注意:
検索コレクションの再構築が進行中の場合、高速再構築は実行されません。
注意:
高速再構築プロセスでは、「全文」、「メタデータのみ」、「削除」のインデクサ・カウンタ値は作成されません。インデクサ・カウントの統計値を取得するには、コレクション全体の再構築を実行する必要があります。
OracleTextSearch機能には、「検索結果」ページにデフォルトのメニュー・オプションが用意されています(Oracle Database構成スクリプトで設定)。
DrillDownFields=dDocType, dSecurityGroup
管理者は、最適化フィールドのリストからもう1つオプションを追加し、検索結果をさらにカスタマイズできます。構成を編集して、DrillDownFieldsのリストにオプションを追加します。(この機能では、複数値オプションのリストはサポートされません。)
DrillDownfields設定に変更を加えた後には、高速再構築を実行する必要があります。
OracleTextSearchによる検索の実行は、検索演算子オプションとして「Substring」が削除されている以外に「検索: 拡張フォーム」に目に見える変更がない点を除き、一般に同じです。デフォルトの検索演算子はCONTAINSです。部分文字列ベースの問合せはそのまま機能します。
検索の実行の詳細は、『Oracle WebCenter Contentの使用』を参照してください。
次の表で、デフォルトの検索演算子について説明します。
演算子 | 説明 | 例 |
---|---|---|
CONTAINS |
指定した語全体または句全体がメタデータ・フィールドに含まれるコンテンツ・アイテムを検索します。 これはOracleTextSearch、またはオプションのDBSearchContainsOpSupportコンポーネントが有効化されているOracle DatabaseおよびMicrosoft SQL Serverデータベースでのみ使用できます。 |
「タイトル」フィールドに |
MATCHES |
指定した値と完全に一致する値がメタデータ・フィールドに含まれるアイテムを検索します。 |
「タイトル」フィールドに 非最適化フィールドに対してMATCHES演算子を使用する問合せは、CONTAINS演算子を使用する問合せと同様に動作します。 たとえば、 |
HAS WORD PREFIX |
指定した語がメタデータ・フィールドの先頭に含まれるコンテンツ・アイテムをすべて検索します。指定する値の前後にワイルドカード文字を配置しません。 |
「タイトル」フィールドに |
「クイック検索」フィールドを使用している場合であっても、次のワイルドカードをメタデータ検索フィールドで使用できます。
アスタリスク(*)は、ゼロまたは多数の英数字を示します。次に例を示します。
form*
は、form
やformula
と一致します。
*orm
は、form
やreform
と一致します。
*form*
は、form
、formula
、reform
、performance
と一致します。
疑問符(?)は、1つの英数字を示します。次に例を示します。
form?
は、forms
やform1
と一致しますが、form
やformal
とは一致しません。
??form
は、reform
と一致しますが、perform
とは一致しません。
注意:
アスタリスク(*)または疑問符(?)をワイルドカードとして扱わずに検索する場合は、"here*"
のように、検索語を引用符で囲む必要があります。
通常のインターネット検索エンジンで一般的な検索手法はコンテンツ・サーバーでもサポートされています。たとえば、「クイック検索」フィールドにnew product
と入力すると、new <AND> product
が検索され、new, product
と入力すると、new <OR> product
が検索されます。
この検索のスタイルを有効にするには、変数をDoMetaInternetSearch=True
のように設定します。この検索のスタイルを無効にするには、変数をDoMetaInternetSearch=False
のように設定します。これはデフォルトです。詳細は、『Oracle WebCenter Content構成リファレンス』を参照してください。
次の表に、一般的な文字がコンテンツ・サーバーでどのように解釈されるかを示します。
文字 | 解釈方法 |
---|---|
スペース( ) |
AND |
カンマ(,) |
OR |
マイナス(-) |
NOT |
二重引用符で囲まれた句(" |
入力した句と正確に一致する句 |
次の表に、フルテキスト検索でインターネット・スタイルの構文がどのように解釈されるかの例を示します。
問合せ | 解釈方法 |
---|---|
|
new <AND> product |
|
(new <OR> product) <AND> images |
|
(new <AND> product) <AND> <NOT> images |
|
"new product" <OR> "new images" |
次の表に、substring演算子を使用してタイトル・メタデータを検索する場合にインターネット・スタイルの構文がどのように解釈されるかの例を示します。
問合せ | 解釈方法 |
---|---|
|
dDocTitle <substring> 'new' <AND> dDocTitle <substring> 'product' |
|
dDocTitle <substring> 'new' <OR> dDocTitle <substring> 'product' |
|
dDocTitle <substring> 'new' <AND> <NOT> 'product' |
|
dDocTitle <substring> 'new product' |
Oracle TextをWebCenter Contentでの検索エンジンとしてOracleTextSearchを使用する場合、スコアによる検索結果は、ドキュメントの関連性に基づきソートされます。理論上は、検索語のドキュメントに対する関連性が高ければ高いほど、受け取るスコアは高くなるはずです。実際には、検索語に基づき、あるドキュメントの重要性の、それ以外に対する関連性スコアのランク付け方法は、完全に明らかではありません。ある語がドキュメント内に特定の回数出現すると、スコアは最大値の100に到達し、上位の結果を相互に区別することは難しい場合があります。
たとえば、「vacation」という語をドキュメントのセットで検索し、7つの結果のうち6つのスコアが"100"であると、これらは基本的に同じランクです。多数のドキュメントのランクが同じだと、スコアによるソートはまったく意味がなくなります。
関連性によるソートに加えて、発生回数によるソートをOracle Textに伝えることもできます。発生回数によるソートは、ドキュメントのランク付けでより予測可能な結果をもたらし、多くの場合、関連性よりも意味のあるソート結果を得ることができます。
Oracle Textに発生回数によるソートを伝えるには、SearchOperatorMapリソースに対しコンポーネントを多少変更する必要があります。デフォルトでは、フルテキスト検索に使用される問合せは次のようなコードになります。
<td>(ORACLETEXTSEARCH)fullText</td> <td>DEFINESCORE((%V), <strong>RELEVANCE * .1</strong>)</td> <td>text</td>
このリソースを上書きして、RELEVANCE
のかわりにOCCURRENCE
を使用するように変更します。この変更により、リソースは強制的に発生回数を使用するようになります(.1から.01へのスケールの変更にも注意してください)。
<td>(ORACLETEXTSEARCH)fullText</td> <td>DEFINESCORE((%V),<strong> OCCURRENCE * .01</strong>)</td> <td>text</td>
前述の例と同じ検索とソート・オプションを実行すると、結果は違うものとなり、7つのドキュメントそれぞれが一意のスコアを持ちます。これにより、アイテムのランクをより明確に理解できるようになります。一般的に、あるドキュメントで検索語が他のドキュメントよりも3回多く出現すると、ユーザーが調査しようと思うドキュメントとなる可能性が高まります。
注意:
発生回数のランクでも最大回数は100なので、ドキュメントでの検索語の発生がこの回数を超えても、スコア結果は100のままです。
サイトによっては、関連性ランクの使用が発生回数ランクよりも有用な場合もありますが、このオプションは結果に対してより適切に動作する可能性のある代替方法を提供します。
「検索: 拡張フォーム」を使用して検索を実行すると、「検索結果」ページには、検索結果を選択的に表示できるオプションを含む追加のメニュー・バーが表示されますこれらのオプションは、検索結果をフィルタ処理するために使用されるカテゴリを表しています。オプションは状況に応じて変化し、オプションとして返されるコンテンツ・アイテムが1つのみの場合は、図10-1に示すように、メニュー自体に1つの結果のみが表示されます。オプションのデフォルト・セットには、Content Type、Security GroupおよびAccountが含まれます。
注意:
「検索結果」のOracleTextSearchメニューの2つのデフォルト・メニュー・オプションを、カスタマイズ・メニュー・オプションSecurity GroupおよびDocument Typeに置き換えることができます。
1つのオプションに対して複数のコンテンツ・アイテムが検索された場合、オプション名の横に矢印が表示されます。オプション名の上にカーソルを移動すると、そのオプションの検索結果に含まれるカテゴリのリストと各カテゴリのコンテンツ・アイテム数を示すメニューが表示されます。メニューで任意のカテゴリ名をクリックして、「検索結果」ページにそのカテゴリに一致するアイテムのみを表示するように変更できます。
図10-2は、Security Groupのカテゴリのリストと各カテゴリで検索されたアイテム数を示しています。
要素 | 説明 |
---|---|
カテゴリによるフィルタ |
検索結果のフィルタ処理に使用されるカテゴリ(「Content Type」、「Security Group」、「Account」など)を表示します。 |
コンテンツ・タイプ |
(デフォルト)タイプのリスト、および検索結果におけるタイプ別のコンテンツ・アイテム数が表示されます。 コンテンツ・タイプ名の1つをクリックすると、そのコンテンツ・タイプに一致するアイテムのみを表示するように検索結果が変更されます。 |
セキュリティ・グループ |
(デフォルト)セキュリティ・グループのリスト、および検索結果におけるグループ別のコンテンツ・アイテム数が表示されます。セキュリティ・グループには、「Administration」、「Public」および「Secure」があります。 セキュリティ・グループ名の1つをクリックすると、そのセキュリティ・グループに一致するアイテムのみを表示するように検索結果が変更されます。 |
アカウント |
(デフォルト)アカウント・タイプのリスト、および検索結果におけるアカウント別のアイテム数が表示されます。 アカウント・タイプの1つをクリックすると、そのアカウントに一致するコンテンツ・アイテムのみを表示するように検索結果が変更されます。 |
Oracle Secure Enterprise Search (Oracle SES) 12cは、すべてのエンタープライズ情報資産にわたって安全な、高品質で使いやすい検索を実現します。Oracle SES 12cを使用するライセンスをお持ちの場合は、次のように、Oracle SESを使用するためにWebCenter Contentを設定できます。
OracleTextSearch機能により、Oracle SESをWebCenter Contentの外部フルテキスト検索エンジンとして使用できるようにする。Oracle SESの設定の詳細は、「Oracle SESを外部フルテキスト検索エンジンとして使用」を参照してください。
SESCrawlerExportコンポーネントにより、プライマリ検索エンジンとしてでなくとも、Oracle SESがコンテンツ・サーバー・インスタンスのコンテンツを検索できるようにする。SESCrawlerExportの設定の詳細は、「Oracle SESでSESCrawlerExportを使用してコンテンツ・サーバーのコンテンツを検索」を参照してください。
注意:
Webcenter Content Serverのアクセス制御リスト(ACL)は、Oracle SESでサポートされています。アクセス制御リストの情報を使用して検索を実行できます。詳細は、「アクセス制御リストのセキュリティの管理」を参照してください。
注意:
Need to Knowコンポーネント・セキュリティを使用しているドキュメントは、Oracle SES用に設定できません。
詳細は、クックブック: SESとUCMの設定ブログを参照してください。Oracle SESの詳細は、『Oracle Secure Enterprise Search管理者ガイド』を参照してください。
Oracle Secure Enterprise Search (Oracle SES) 12cをバックエンド検索エンジンとして使用するように、OracleTextSearch機能を含むWebCenter Contentを構成できます。この構成により、ユーザーは1つのファイルに対して複数のコンテンツ・サーバー・インスタンスを検索できます。
Oracle SESでは、デフォルトで10MBまでのファイルにフルテキスト索引付けが行われますが、この設定を最大ファイル・サイズ(1GB)に構成できます。
OracleTextSearchオプションとともに使用するようにOracle SESを構成するには:
注意:
WebCenter ContentでOracle SES以外の検索エンジンをすでに使用していて(コンテンツ・サーバーの「構成後処理」ページで設定されたエンジンなど)、その検索エンジンをOracle SESに変更する場合、新規データベース・プロバイダを作成し、そのプロバイダを使用するようOracle SESを構成する必要があります。詳細は、「Oracle SESをOracleTextSearchとともに使用するように検索エンジンを再構成」を参照してください。
Oracle SESのインストール後、ファイルORACLE_HOME
/network/admin/sqlnet.ora
を編集して、次の2行をコメント・アウトします。
tcp.invited_nodes tcp.validate_checking
Oracle SESが実行中の場合、シャットダウンします(中間層およびデータベース)。
ORACLE_HOME
/bin/searchctl stopall
データベースを起動します。
ORACLE_HOME
/bin/searchctl start_backend
後で使用するために、次のファイルでデータベース接続情報を見つけます。
ORACLE_HOME
/search/webapp/config/search.properties
Oracle SESに対してリポジトリ作成ユーティリティ(RCU)を実行して、OCSEARCHスキーマを作成します。OCSEARCHでは、Oracle SESでRCUによってすでに設定されているデータベースの検索部分のみが設定されます。
このスキーマを作成するには、RCUの「コンポーネントの選択」ウィンドウでContent Server 12c - 検索のみを選択します。RCU実行の詳細は、『Oracle WebCenter Contentのインストールと構成』を参照してください。
WebCenter Contentの標準インストールおよびコンテンツ・サーバーのインストールを実行します。手順については、『Oracle WebCenter Contentのインストールと構成』を参照してください。
注意:
コンテンツ・サーバーの「構成後処理」ページでは、通常のデータベース構成が設定されるため、この手順は行わないでください。
Oracle WebLogic ServerインスタンスでOracle SESに接続する新規データ・ソース(WLS DataSource)を作成します。
Oracle WebLogic Server管理コンソールで、「サービス」メニューを使用して「JDBC」、「データ・ソース」の順に選択します。
JDBCデータ・ソースのサマリーを示すウィンドウが開きます。
「新規」をクリックして、「新しいデータ・ソースの作成」ウィンドウで次のアイテムの値を入力します。
名前: 新しいデータ・ソース名を入力します。
JNDI名: 新しい名前を再入力します。
データベース・タイプ: Oracleと入力します。
データベース・ドライバ: 「*Oracleのインスタンス接続用ドライバ(Thin XA)」をクリックします。
「次」をクリックして、「トランザクション・オプション」を表示します。
「次」をクリックして、データベース・パラメータを入力します。手順4で説明したように、search.properties
ファイルでデータベース接続情報を見つけることができます。
データベース名: ses
など、接続するデータベースの名前を入力します。
ホスト名: データベース・サーバーのIPアドレスを入力します。
ポート: データベース接続用のデータベース・サーバーのポート番号を入力します。
データベース・ユーザー名: データベース・アカウントのユーザー名を入力します。これは、RCU作成プロセスで指定したSchemaOwner名です。
パスワード: データベース接続の作成に使用するデータベース・アカウントのパスワードを入力します。これは、RCU作成プロセスで指定したパスワードです。
パスワードの確認: データベース・アカウントのパスワードを再入力します。
Click 「次へ」をクリックします。
「構成のテスト」をクリックします。ページ上部にメッセージ"Connection test succeeded"
が表示されたことを確認して、「次」をクリックします。
使用可能なターゲット・サーバーのリストから、新しいJDBCデータ・ソースをデプロイするターゲットContent Serverのチェック・ボックスを選択します。たとえば、ターゲットContent ServerにはUCM_server1
という名前が付けられています。
「終了」をクリックします。
コンテンツ・サーバーの「構成後処理」ページで、「外部フルテキスト検索オプションの選択」をクリックして、データ・ソース名を入力します。
Content Serverインスタンスを再起動します。手順については、「Fusion Middleware Controlを使用したコンテンツ・サーバーまたはInbound Refineryの再起動」を参照してください。
WebCenter ContentでOracle SES以外の検索エンジンをすでに使用していて(コンテンツ・サーバーの「構成後処理」ページで設定されたエンジンなど)、その検索エンジンをOracle SESに変更する場合、新規データベース・プロバイダを作成し、そのプロバイダを使用するようにコンテンツ・サーバーのOracle SESを構成する必要があります。
Oracle SESのインストール後、ファイルORACLE_HOME
/network/admin/sqlnet.ora
を編集して、次の2行をコメント・アウトします。
tcp.invited_nodes tcp.validate_checking
Oracle SESが実行中の場合、シャットダウンします(中間層およびデータベース)。
ORACLE_HOME
/bin/searchctl stopall
データベースを起動します。
ORACLE_HOME
/bin/searchctl start_backend
後で使用するために、次のファイルでデータベース接続情報を見つけます。
ORACLE_HOME
/search/webapp/config/search.properties
Oracle SESに対してOracleリポジトリ作成ユーティリティ(RCU)を実行して、OCSEARCHスキーマを作成します。OCSEARCHでは、Oracle SESでRCUによってすでに設定されているデータベースの検索部分のみが設定されます。
このスキーマを作成するには、RCUの「コンポーネントの選択」ウィンドウでContent Server 12c - 検索のみを選択します。
RCU実行の詳細は、『Oracle WebCenter Contentのインストールと構成』を参照してください。
コンテンツ・サーバー・インスタンスでOracle SESに接続する新規データ・ソース(WLS DataSource)を作成します。
Oracle WebLogic Server管理コンソールで、「サービス」メニューを使用して「JDBC」、「データ・ソース」の順に選択します。
JDBCデータ・ソースのサマリーを示すウィンドウが開きます。
「新規」をクリックして、「新しいデータ・ソースの作成」ウィンドウで次のアイテムの値を入力します。
名前: 新しいデータ・ソース名ExternalSearchProviderを入力します
JNDI名: 新しい名前を再入力します。
データベース・タイプ: Oracleと入力します。
データベース・ドライバ: 「*Oracleのインスタンス接続用ドライバ(Thin XA)」をクリックします。
「次」をクリックして、「トランザクション・オプション」を表示します。
「次」をクリックして、データベース・パラメータを入力します。手順4で説明したように、search.properties
ファイルでデータベース接続情報を見つけることができます。
データベース名: SES
など、接続するデータベースの名前を入力します。
ホスト名: データベース・サーバーのIPアドレスを入力します。
ポート: データベース接続用のデータベース・サーバーのポート番号を入力します。
データベース・ユーザー名: データベース・アカウントのユーザー名を入力します。これは、RCU作成プロセスで指定したSchemaOwner名です。
パスワード: データベース接続の作成に使用するデータベース・アカウントのパスワードを入力します。これは、RCU作成プロセスで指定したパスワードです。
パスワードの確認: データベース・アカウントのパスワードを再入力します。
Click 「次へ」をクリックします。
「構成のテスト」をクリックします。ページ上部にメッセージ"Connection test succeeded"
が表示されたことを確認して、「次」をクリックします。
使用可能なターゲット・サーバーのリストから、新しいJDBCデータ・ソースをデプロイするターゲットContent Serverのチェック・ボックスを選択します。たとえば、ターゲットのコンテンツ・サーバー・インスタンスをUCM_server1
などの名前にします。
「終了」をクリックします。
注意:
Oracle WebLogic Serverインスタンスを再起動する必要はありません。
コンテンツ・サーバーで、次の手順に従って検索(データベース)プロバイダを変更します。
「管理」→「プロバイダ」を選択します。
新規データベース・プロバイダを作成する行で、「追加」をクリックします。
新しいデータベース・プロバイダの設定を入力または確認します。
プロバイダ名: ExternalSearchProvider
。
プロバイダの説明: External Database Provider
。
プロバイダ・クラス: intradoc.jdbc.JdbcWorkspace
接続クラス: intradoc.jdbc.JdbcConnection
データベース・タイプ: ORACLE
を選択します。
データ・ソースの使用: このボックスを選択します。
データ・ソース: SES
など、データ・ソースの名前を入力します。
問合せのテスト: select * from SES.IDCTEXT
など、問合せのテストを入力します。
接続の数: デフォルトでは、5
に設定されています。
追加のストレージ・キー: デフォルトでは、system
に設定されています。
「追加」をクリックします。
Content Serverインスタンスを再起動します。手順については、「Fusion Middleware Controlを使用したコンテンツ・サーバーまたはInbound Refineryの再起動」を参照してください。
新規データベース・プロバイダ名が、「プロバイダ」ページのリストに表示されているはずです。
「管理」→「管理サーバー」→「一般構成」を選択します。
「一般構成」の「追加の構成変数」セクションで、次の設定を入力または確認します。
SearchIndexerEngineName=OracleTextSearch
IndexerDatabaseProviderName=ExternalSearchProvider
Content Serverインスタンスを再起動します。手順については、「Fusion Middleware Controlを使用したコンテンツ・サーバーまたはInbound Refineryの再起動」を参照してください。
リポジトリ・マネージャ・アプレットを使用して、検索索引を再構築します。
リポジトリ・マネージャの詳細は、『Oracle WebCenter Contentのマネージング』を参照してください。
SESCrawlerExportコンポーネントにより、RSSフィード・ジェネレータとしての機能がコンテンツ・サーバー・インスタンスに追加され、Oracle Secure Enterprise Search (Oracle SES)による検索が可能になりました。このコンポーネントは、コンテンツ・サーバー・インスタンスの現在のコンテンツのスナップショットを生成して、Oracle SES Crawlerに提供します。
SESCrawlerExportコンポーネントは、インデクサ・アクティビティに基づいて、内部インデクサからRSSフィードをXMLファイルとして生成します。このコンポーネントは、元のWebCenter Contentコンテンツ(Microsoft Wordドキュメントなど)、Web表示可能レンディション、および各ドキュメントの関連付けられているすべてのメタデータにアクセスできます。このコンポーネントには、インデクサからメタデータ値を適用してXMLドキュメントを生成するIdocスクリプトを含むテンプレートもあります。
SESCrawlerExportは、すべてのドキュメントの初期クロール用のRSSフィードを生成するほかに、更新および削除されたドキュメントの増分クロール用のフィードを生成します。各ドキュメントは、フィード内のアイテム、そのアイテムの操作(挿入、削除、更新など)、そのメタデータ(作成者、サマリーなど)、URLリンクなどになることができます。インデクサは定期的(約30秒)にウェイクアップし、変更されたドキュメントのデータ・フィードを作成します。
Oracle SES用コンテンツ・サーバー・コネクタは、クローリング・スケジュールに従って、SESCrawlerExportにより提供されるフィードを読み取ります。Oracle SESは汎用RSSクローラ・フレームワークを使用して、メタデータ情報を解析および抽出し、ドキュメントのコンテンツを取得します。
SESCrawlerExportコンポーネントは、コンテンツ・サーバー・インスタンスで使用される検索エンジンの影響を受けません。SESCrawlerExportは、Oracle SESによる検索の実行方法に影響を与えません。
注意:
コンテンツ・サーバー・インスタンスで、YahooUserInterfaceLibraryコンポーネントが有効になっている必要があります。このコンポーネントには、SESCrawlerExportが初期クロール時にフィード生成ステータスをレポートするために使用するJavaScriptライブラリがあります。
注意:
デフォルトで、SESCrawlerExportはDigitalMediaドキュメント・タイプのスナップショットをサポートしていないため、このタイプのドキュメントはSES検索で検出されません。SESExportCrawler管理ページにあるsceCoreFilter
構成パラメータは、ソース格納場所スクリプトの事前フィルタとして機能し、DigitalMediaコンテンツがsceSourceLocation
スクリプトに送られる前にフィルタ処理で除外します。sceCoreFilter
のデフォルトのパラメータ設定は次のとおりです。
<$if dDocType and dDocType like 'DigitalMedia'$>#none<$else$>#customScript#<$endif$>
コア・フィルタリングをsceSourceLocationScript
に従うようにすることによりDigitalMediaドキュメント・タイプを許可するには、デフォルトのsceCoreFilter
構成パラメータを#customScript#
に変更します。
この項の内容は次のとおりです。
コンテンツ・サーバー・インスタンスのコンテンツのスナップショットを取得すると、Oracle SES Crawlerに提供するフィードが生成されます。スナップショットにより、SESCrawlerExportコンポーネントのFeedLoc
パラメータで指定された場所で、configFile.xml
が生成されます。XMLフィードは、wikisなどのソース名でサブディレクトリに作成されます。コンテンツ・サーバー・インスタンスに格納されているアイテム数および生成しているソース数によっては、スナップショットの実行に多少時間がかかることがあります。
スナップショットを取得する手順:
SESCrawlerExportコンポーネントには、データ・フィードのソース、コンテンツ、メタデータ、データ・フィードごとのアイテム数などを指定するために構成できる、複数のパラメータがあります。パラメータに対する変更はただちに有効になりますが、変更内容を伝播するには、スナップショットを新たに再取得する必要があります。
これらのパラメータを構成する手順:
「管理」→「SESCrawlerExport」を選択します。
「SESCrawlerExport管理」ページで、「SESCrawlerExportの構成」をクリックします。
次のSESCrawlerExportパラメータ・フィールドに値を入力するか、値を確認します。
要素 | 説明 |
---|---|
ホスト名 (sceHostname) |
エクスポートされるコンテンツをホスティングする、コンテンツ・サーバー・インスタンスのホスト名の文字列。値が空白の場合、ホスト名はOracle SESエクスポートを実行するホストに設定されます。このフィールドはIdoc対応です。 |
フィード・ロケーション (sceFeedLoc) |
構成ファイルとデータ・フィードが書き込まれるディレクトリ。configFile.xmlファイルはこの場所で生成されます。データ・フィードとコンテンツは、この場所のソース名を持つサブディレクトリで生成されます。 クラスタのSESフィード・ロケーションが共有のファイルの場所に配置されていることを確認します。共有のファイルの場所にない場合、SESインデクサによってファイルは無視されます。 |
メタデータ・リスト (sceMetadataList) |
Oracle SESにエクスポートされるメタデータ値のカンマで区切られたリスト。この値が空白の場合、メタデータ値のリストは次のフィールドから構成されます。
このリストに一連のメタデータ・フィールドが入力されている場合、それらのフィールドのみがOracle SESにエクスポートされます。これらのフィールドには、標準またはカスタム・メタデータ・フィールドを指定できます。 |
管理者の電子メール (sceAdminEmail) |
クローリング・エラーの発生時に電子メールで通知される、電子メール・アドレス、ユーザー名、ユーザー・エイリアスのカンマで区切られたリスト。 |
カスタム・メタデータ・ブラックリスト (sceCustomMetadataBlacklist) |
Oracle SESにエクスポートされない、メタデータ値のカンマで区切られたリスト。これらのフィールドには、標準またはカスタム・メタデータ・フィールドを指定できます。 |
SESによるソースごとの保留消費量の最大フィード(sceMaxFeedsPerSource) |
SESによる保留中の消費量であるソースごとのデータフィードが指定された値を超えた場合に、新規データフィードの作成を制限する数。 フィードを制限するには、この数が0または正の値に設定されている必要があります。この数が負の値に設定されている場合、生成されるフィードは制限されません。 |
データフィード当たりの最大アイテム数 (sceMaxItemsPerFeed) |
各データ・フィードのコンテンツ・アイテムの最大数。(フィード内のコンテンツ・アイテムは操作です。例: ドキュメントの挿入、更新または削除。) |
コア・フィルタ (sceCoreFilter) |
コンテンツに対して事前フィルタ処理を実行して、Oracle SESへのエクスポート対象から削除します。この値はデフォルト設定のままにすることをお薦めします。 |
クローラ・ロール (sceCrawlerRole) |
Oracle SESがコンテンツ・サーバー・インスタンスのクロールに使用するアカウントで必要なコンテンツ・サーバーのロール。デフォルトでは、コンテンツ・サーバーの 注意: Oracle SESからのクロールに、デフォルトのOracle WebLogic Server管理者アカウントは使用しないでください。かわりに、外部ソース(LDAPプロバイダなど)の管理者アカウントまたはローカルのコンテンツ・サーバー・アカウントを使用します。必要に応じて、このSESCrawlerExportフィールドを使用して、必須ロール
|
ソース名 (sceSourceName) |
Webcenter Content Serveインスタンスで作成されたすべてのコンテンツ・ソースの、カンマで区切られたリスト。リストされた各ソースは、まったく同じです(ミラー化)。複数のソースを持つことで、このインスタンスのコンテンツを、複数のOracle SESサーバーが別々に消費できます。 これらのソース名がフィード・ロケーション・ディレクトリのサブディレクトリ名として使用されて、データ・フィードとコンテンツが保持されます。 注意: 名前「ssSource」は予約されたソース名で、このフィールドでは使用できません。 |
Secure APIの無効化 (sceDisableSecureAPIs) |
SESCrawlerExportコンポーネントで提供されるサービスのセキュリティが内部的に実行されるか( |
コンテンツ・サーバー・コネクタにより、Oracle SESはWebCenter Contentでコンテンツ・サーバー・インスタンスを検索できるようになります。コネクタは、クローリング・スケジュールに従って、コンテンツ・サーバー・インスタンスにより提供されるフィードを読み取ります。Oracle SESからデータをクロールするには、タイプContent Server
のソースを作成する必要があります。コネクタ・パッチをインストールしてコンテンツ・サーバー・ソースを作成する方法は、Oracle Secure Enterprise Search管理者ガイドを参照してください。
コンテンツ・サーバー・ソースの設定には、次のパラメータを使用します。
構成URL:
http://host_name/instance_name/idcplg?IdcService=SES_CRAWLER_DOWNLOAD_CONFIG&source=source_name
source_name
で表されるパラメータは、SESCrawlerExportコンポーネントのソース名(sceSourceName
)パラメータで使用される文字列の1つと同じである必要があります。このパラメータは、コンテンツ・サーバー・インスタンスのコンテンツ・ソースの1つを指しています。次に例を示します。
http://stahz16/ucm/idcplg?IdcService=SES_CRAWLER_DOWNLOAD_CONFIG&source=cs
認証および認可用HTTPエンドポイント: Oracle WebCenter Contentアイデンティティ・プラグインのアクティブ化および認可マネージャの構成時に、HTTPエンドポイントの値を求められます。一般に、2つの値は、同一のコンテンツ・サーバー・インスタンスでは同じで、形式はhttp://
host_name
/
instance_name
/idcplg
です。たとえば、http://host.example.com/ucm/idcplg
となります。この値は、コンテンツ・サーバー・インスタンスに対するすべてのサービス・コールのエンドポイントとして使用されます。この値は、「管理」、「管理サーバー」、「インターネットの構成」の順に選択して検索することもできます。現在のURL (URLパラメータなし)をHTTPエンドポイントとして使用します。
コンテンツ・サーバー・インスタンスがOracle Single Sign-On (OSSO)で保護されている場合、Oracle SESがSESCrawlerExportによって提供されるサービスにアクセスできるように、SESCrawlerExportコンポーネントの構成を変更する必要があります。「SESCrawlerExportの構成」ページに移動し、「Secure APIの無効化」パラメータをtrue
に設定して、内部セキュリティ・メカニズムを無効にします。
コンテンツ・サーバー・インスタンスがOracle Access Manager (OAM)で保護されている場合、Oracle SESがSESCrawlerExportコンポーネントによって提供されるサービスにアクセスできるように、なんらかの変更を加える必要があります。
コンテンツ・サーバー・インスタンスのconfig.cfg
ファイルをテキスト・エディタで開きます。例: DomainHomeName
/ucm/cs/config/config.cfg
。
次のプロパティ値を設定します。
HttpServerAddress=<OHSHost>:7778
ここで、OHSHostはOracle HTTP Server (OHS)ホスト名で、7778はOHSポートです。
Content Serverインスタンスを再起動します。手順については、「Fusion Middleware Controlを使用したコンテンツ・サーバーまたはInbound Refineryの再起動」を参照してください。
「管理」→「SESCrawlerExport」を選択します。
「SESCrawlerExport管理」ページで、「SESCrawlerExportの構成」をクリックします。
「SESCrawlerExportの構成」ページで、「ホスト名」をクリックしてホスト名を<OHSHost>に設定します。
OAMで保護されたContent ServerインスタンスにアクセスするようにOracle SESを構成します。詳細は、『Oracle Secure Enterprise Search管理者ガイド』を参照してください。
コンテンツ・サーバー・インスタンスがOracle Single Sign-On (OSSO)以外のシングル・サインオン・ソリューションで保護されている場合、Oracle SESがSESCrawlerExportコンポーネントによって提供されるサービスにアクセスできるように、なんらかの変更を加える必要があります。
構成: Oracle Single Sign-On以外のシングル・サインオン・ソリューションを使用している場合、SESCrawlerExportコンポーネントによって提供されるサービスのセキュリティは、コンポーネント自体によって提供されます。「SESCrawlerExportの構成」ページに移動し、「Secure APIの無効化」パラメータをfalse
に設定して、内部SESCrawlerExportセキュリティ・メカニズムを有効にします。
Webサーバー: Oracle SESはシングル・サインオン・ソリューションと互換性がないため、SESCrawlerExportコンポーネントによって提供されるサービスへのアクセスは、シングル・サインオンをバイパスする必要があります。選択したシングル・サインオン・ソリューションによっては、バイパスを作成することが、サービスのサブセットへのアクセスを許可するようにWebサーバーを構成することと同じくらい簡単な場合もあります。
コンテンツ・サーバー・インスタンスで追加のWebサーバーを設定する場合、そのWebサーバーは標準のコンテンツ・サーバー・ポートとは別のポート(ポート80以外のポート)で実行される必要があります。シングル・サインオン保護をまったく設定せずに、この追加のWebサーバーを構成します。また、このWebサーバーへのOracle SESのアクセスのみを許可するように、アクセス制御リストを設定します。Oracle SESの構成では、コンテンツ・サーバー・ソースの構成URLで、この追加のWebサーバー・ポートを使用します。
コンテンツ・サーバー・ソース格納場所スクリプトは完全にカスタマイズ可能なIdocスクリプトで、コンテンツ・アイテムのメタデータを評価して、このコンテンツ・アイテムを設定するソースを返します。
ソース格納場所スクリプトを作成または更新するページにアクセスする手順:
「管理」→「SESCrawlerExport」を選択します。
「SESCrawlerExport管理」ページで、「SESCrawlerExportの構成」をクリックします。
「SESCrawlerExportの構成」ページで、「ソース格納場所の構成スクリプト」をクリックします。
表示された領域にIdocスクリプトを入力します。
デフォルトでは、ソース格納場所スクリプトは#all
に設定され、Latest Released
とフラグが付けられたすべてのコンテンツ・アイテムをコンテンツ・サーバー・インスタンスで構成されたすべてのソース(「ソース名」パラメータを参照)に送信します。#all
ソース名は、すべてのソースがコンテンツ・アイテムを受信することを示す予約キーワードです。
同様に、#none
ソース名も予約キーワードですが、これはコンテンツ・アイテムをソースに送信しないことを示します(基本的に、コンテンツ・アイテムはOracle SESにエクスポートされない)。
注意:
コンテンツ・メタデータに基づいてコンテンツをフィルタするためにIdocScriptを使用する場合は、次のフィールドを使用しないでください: dCreateDate、dReleaseDate、dDocLastModifiedDate、dOutDate、dInDate。これらのフィールドは、スクリプトによって処理されるときにフォーマットされないため、エラーになるからです。かわりに、次のフィールドを使用してください: dCreateDateStdFmt、dReleaseDateStdFmt、dDocLastModifiedDateStdFmt、dOutDateStdFmt、dInDateStdFmt。
「更新」をクリックします。
ソース格納場所スクリプトを削除するには、「リセット」をクリックします。
ソース格納場所スクリプトをテストするには、コンテンツ・アイテムのドキュメント名(dDocName)を表示されたフィールドに入力して、「テスト」をクリックします。
スクリプトに構文エラーがある場合、構文エラーのタイプに応じて、エラーはページまたはサーバー出力に表示されます。論理エラーは、「SESCrawlerExportソース格納場所スクリプト」ページで修正して、ただちにテストを再実行できます。
スクリプトが存在しないソース名を返した場合、サーバー出力でエラーが生成されます。無効なソース名が削除され、アイテムの処理は続行されますが、ログに記録されます。この問題は、ソース名をスクリプトから削除するか、コンテンツ・サーバー・インスタンスに新しい「ソース名」パラメータ値を追加することで訂正できます。
スクリプトでは、複数のソース名をカンマで区切って返すことができます。
例10-1 例
次の例では、ソース格納場所スクリプトを設定して、ドキュメント・タイプ(dDocType)がADACCT
のすべてのコンテンツ・アイテムがaccounting
という名前のソースに送信され、その他はすべてdefault
という名前のソースに含まれています。accounting
およびdefault
ソースは、「SESCrawlerExportの構成」ページでそれぞれの名前を「ソース名」パラメータに追加することで、別個に設定する必要があります。
<$if dDocType like "ADACCT" $> accounting <$else$> default <$endif$>
フルテキスト・データベース検索およびSQL Serverやその他のデータベースの索引付けを設定して使用するには:
注意:
OCSスキーマのインポート後、フルテキスト・データベース検索索引の再構築に問題があると、「Oracleテキスト・コレクション'IdcText1'を作成できません。」
というメッセージが表示されることがあります。この場合の解決策は、(コンテンツ・サーバーの)データベース管理者としてログインして、表IdcText1
と表IdcText2
を削除することです。
詳細は、『Oracle Fusion Middlewareの管理』を参照してください。