この章では、Oracle Content Serverの検索ツールを管理するための概念と作業について説明します。
OracleTextSearchソフトウェアを使用するライセンスを持っている場合(Oracle Database 11gで)、OracleTextSearch機能を構成して、Oracle Text 11gをOracle Universal Content Management (Oracle UCM)のプライマリ全文検索エンジンとして使用できます。Oracle Text 11gは最新の索引付け機能を提供しており、Oracle Secure Enterprise Search (Oracle SES)の検索機能の基礎となっています。ただし、Oracle Text 11gには独自の問合せ構文があり、一般的なエンドユーザーではなくアプリケーションまたは情報の専門家による使用を対象としています。
OracleTextSearchにより、管理者は、特定のメタデータ・フィールドを検索索引用に最適化するように指定したり、追加のフィールドをカスタマイズできます。高速の索引再構築や索引最適化も行うことができます。
この項の内容は次のとおりです。
OracleTextSearchの使用を検討する上で重要な事項を、次に示します。
Oracle UCMバージョン11g リリース(11.1.1)は、Oracle Text 11gでサポートされているすべての言語をサポートします。OracleTextSearchは、様々な言語の様々なドキュメント・フォーマットのコンテンツをフィルタリングおよび抽出できます。Microsoft Officeファイル・フォーマット、Adobe PDF、HTML、XMLなど、多数のドキュメント・フォーマットをサポートしています。書式なしテキスト、用語が強調表示されたHTML、元のドキュメント・フォーマットなど、様々なフォーマットの検索結果をレンダリングできます。
Oracle Text 11gはOracle Database 11g上で動作します。Oracle Content Serverシステム・データベースには、Oracle Database 11g、Microsoft SQL Server、またはUCM 11g リリース(11.1.1)保証マトリックスに表示されているその他のデータベースを指定できます。ただし、システム・データベースがOracle Database 11gでない場合、OracleTextSearchの外部プロバイダを構成する必要があります。7.1.2項「OracleTextSearchをOracle Content Server用に構成」を参照してください。
OracleTextSearchを使用している場合は、Oracle Databaseバージョン11.1.0.7.0以上が必要です。また、すべてのSDATAフィールドが249文字以下に制限されます。最適化されたすべてのフィールドはSDATAフィールドで、デフォルトではdDocName、dDocTitle、dDocTypeおよびdSecurityGroupが含まれます。sdataフィールドの合計数は、32フィールドに制限されます。Folders_gが有効化されていない場合、dDocTitleフィールドはデフォルトで80文字に制限されます。
Oracle UCMには各種データベース(Oracle、Microsoft SQL Server、IBM DB2)を使用する多数の検索オプションが備わっていますが、デフォルトでは、検索索引として機能するデータベースはOracle UCMでメタデータやその他の構成情報(ユーザー、セキュリティ・グループなど)の管理に使用されるのと同じシステム・データベースです。OracleTextSearch機能により、Oracle Text 11gがOracle Database 11g上でOracle UCM用の別の検索コレクション・インスタンスとして有効になり、これにより、検索コレクションを別のコンピュータに置いて、プロセッサやメモリーに関してOracle UCMと競合しないようにできます。その結果、索引付けおよび検索のレスポンス時間を短縮できます。
OracleTextSearchコレクション・インスタンスは、Oracle UCMインストールとは異なるプラットフォームにインストールできます。
管理者またはコンポーネントによってOracleTextSearch機能が構成および実行され、メタデータ・フィールドがOracle Content Serverインスタンスにプッシュされる場合(Oracle Content Serverインスタンスの再起動が必要です)、新規メタデータ・フィールドを使用してコンテンツをOracle Content Serverインスタンスにチェックインする前に、OracleTextSearch索引を再構築する必要があります。
Oracle Content Serverインスタンスのconfig.cfgファイルをテキスト・エディタで開きます。
次のプロパティ値を設定します。
必須:
SearchIndexerEngineName=OracleTextSearch
オプション:
IndexerDatabaseProviderName=SystemDatabase
注意: OracleTextSearchで使用するOracle UCMシステム・データベースがOracle Database 11gでない場合は、OracleTextSearchの外部プロバイダを構成する必要があります。ドライバjar ojdbc6.jarは、MW_HOME/wlserver_10.3/server/libディレクトリにあります。
|
注意: UseEntitySecurity=true がOracleTextSearchに検索エンジンとして設定されている場合、Oracle Content Serverインスタンスのconfig.cfgファイルで次のコードも設定する必要があります: ZonedSecurityFields=xClbraUserList,xClbraAliasList |
ファイルを保存します。
Oracle Content Serverインスタンスを再起動します。
検索索引を再構築します。
索引の再構築の詳細は、4.2.2項「検索索引の使用」を参照してください。インストール時のOracle Content ServerとOracleTextSearchの構成の詳細は、『Oracle Fusion Middleware Oracle Enterprise Content Management Suiteインストレーション・ガイド』を参照してください。
この項の内容は次のとおりです。
Oracle Text 11gを使用すると、Oracle UCMの索引付けの速度が大幅に高まります。Oracle Textの索引付けは、トランザクションです。Oracle Content Serverシステムは、ドキュメントのバッチをOracle Textに送信し、バッチをコミットしてから、Oracle Textインデクサを起動します。Oracle Content Serverシステムには、索引付けに失敗したドキュメントが通知され、それらのドキュメントのみが索引付けのために再送信されます。Oracle Content Serverソフトウェアでは、データベースとのパラレル索引付けの使用もサポートされており、データベース・サーバー上の複数のCPUを活用できます。
索引付けの高速化と、検索コレクションを最適化するためのOracle Content Serverシステムの追加機能により、検索問合せレスポンス時間が短縮されます。これらの機能には、Oracle Content Serverインスタンスに5,000ドキュメントが追加されるたびに実行される自動の高速最適化と、50,000ドキュメントごとにまたはリポジトリが20%増加するたびに実行される完全最適化があります。
Oracle UCMでは、Oracle Text 11gの最新機能の一部を使用します。たとえば、Oracle Content Serverシステムでは、検索速度を上げるために、テキスト情報フィールドごとに新しい検索索引ゾーンが自動的に作成されます。情報ゾーンを使用すると、Oracle Content Serverシステムでデータがあたかもフルテキスト・データであるかのようにデータを問い合せることができます。テキストベースの情報フィールド(テキスト、ロング・テキストおよびメモ)すべてが、別々のゾーンとして自動的に追加されます。テキスト情報フィールド用に作成されるゾーンに加えて、Oracle Content ServerシステムにはIdcContent
という追加ゾーンも用意されており、これにより、カスタム・コンポーネント、Inbound Refineryのコンポーネント、アプリケーションまたはユーザーは、フルテキスト・メタデータ・フィールドとして索引付けされるタグ付きXMLコンテンツを作成できます。
Oracle UCMでは、重要なテキスト、日付および整数のフィールドに索引を付け、それらを最適化フィールドとして定義するために、Oracle Text 11gのSDATAセクション機能を使用します。SDATAセクションはOracle Textエンジンが管理する独立したXML構造で、この構造によって、エンジンはデータと整数の範囲が含まれているリクエストに対して迅速に応答できます。Oracle Content Serverシステムでは、最大32の最適化フィールドを設定できます。これには、データ、整数、dInDate、dOutDateなどのOracle Content Serverの標準フィールド、および最適化するように選択されたフィールドが含まれます。最適化されたすべてのフィールドはSDATAフィールドで、デフォルトではdDocName、dDocTitle、dDocTypeおよびdSecurityGroupが含まれます。
注意: Oracle Text 11gで定義された一連の最適化フィールドを変更する場合、定義可能な最適化フィールドの最大数は32です。 |
OracleTextSearchでは、「リポジトリ・マネージャ: インデクサ」タブで「コレクション再構築サイクル」画面を使用する際、「インデクサの再構築」画面が用意されています。高速再構築機能により、検索エンジンは、コレクション全体を再構築することなく、検索コレクションに新しい情報を追加できます。高速再構築は次の場合に必要です。
情報フィールドの追加または削除
任意の最適化フィールドの変更
情報フィールドの最適化フィールドへの変更
高速再構築により、すべての情報(メタデータとフルテキスト)に索引が付け直されるわけではありません。コレクション全体に変更を追加し、更新します。高速再構築サイクル中にOracle Content Serverの検索機能に対する影響はありません。
Universal Query Syntaxで定義されている問合せがサポートされており、通常変更は不要です。これには、ユーザーが保存した問合せ、カスタム・コンポーネントで定義された問合せ、Site Studioのページで定義された問合せが含まれます。
Oracle Textでは、次のデフォルトがサポートされています。
CONTAINS
MATCHES
Has Word Prefix
日付および整数の範囲検索
Oracle Text 11gエンジンでは、デフォルトではユーザー・インタフェースに表示されないが、演算子定義HDA表に追加するカスタマイズにより表示できる、その他の検索演算子および関数がサポートされています。これらの演算子の詳細および例は、『Oracle Textリファレンス』を参照してください。
stemやRelated Termなどの特定の問合せは、Oracle Textシソーラスを使用すると、効果が上がる場合があります。Oracle Textを使用すると、語や句のシノニムや階層上の関係を定義する、大/小文字の区別ありまたは大/小文字の区別なしのシソーラスを作成できます。その結果、問合せを拡張してシソーラスに定義されている類義語または関連語を含めることで、関連テキストを含むドキュメントを検索し、取得できます。たとえば、特定の製品名、関連モデル、関連機能などをシソーラスに入れることができます。
デフォルトのシソーラス: 問合せでシソーラスの名前を指定しないと、デフォルトでは、シソーラスの演算子はDEFAULTというシソーラスを使用します。ただし、Oracle TextにはDEFAULTシソーラスは用意されていません。
その結果、シソーラス演算子にデフォルトのシソーラスを使用する場合は、DEFAULTという名前のシソーラスを作成する必要があります。このシソーラスの作成には、Oracle Textがサポートしている次のシソーラス作成方法を使用できます。
CTX_THES.CREATE_THESAURUS
(PL/SQL)
ctxload
utility
提供されるシソーラス: Oracle Textではデフォルトのシソーラスはありませんが、ctxload
によりロードするファイル形式のシソーラスが提供されており、汎用の英語シソーラスの作成に使用できます。
シソーラス・ロード・ファイルは、Oracle Text用のデフォルト・シソーラスの作成に使用でき、また特定のサブジェクトや、サブジェクトの範囲にあわせたシソーラスの作成の基礎として使用することもできます。
注意: ctxload およびCTX_THES パッケージの使用方法の詳細は、『Oracle Textリファレンス』および『Oracle Textアプリケーション開発者ガイド』の「Oracle Textでのシソーラスの使用」を参照してください。 |
Oracle Content Serverでは、問合せは自動的に大文字と小文字を区別しないものとして実行されます。デフォルトでは、全文およびテキスト・フィールド検索の問合せは、すべて大文字と小文字の区別はありません。Oracle Content Serverでは、最適化フィールドとして格納されている情報に対する大文字と小文字を区別しない検索問合せも処理します。
Oracle Content Serverは、デフォルトではOracle Text 11gにステミング・ルールを適用しませんが、stem()関数を使用することで、ステミング・ルールを適用できます。ステミング・ルールは、複数形、動詞などの検索アカウントを設定するときに使用できます。ステミング・ルールを実装する方法には他に、searchindexerrules
構成ファイルでの標準問合せ定義の変更や、Oracle Textエンジン(Oracle Database)での構成の変更があります。
Oracle Content Serverでは、Oracle TextエンジンでWORLD_LEXER機能を使用することで、英語以外の言語のコンテンツを処理します。これにより、Oracle Textは自動的に言語を識別し、適切なトークン化ルールを適用できます。
Oracle Content Serverでは、Oracle Text Search機能を使用して、検索結果リストについての追加情報を取得し、「検索結果」ページの新しいメニュー・バーに表示しますこの情報には、特定の情報フィールドの特定の値にどれだけのドキュメントが添付されているかが要約されています。Oracle Content Serverでは、最大4つの情報フィールドのクラスタリングがサポートされています(デフォルトのフィールドは、「セキュリティ・グループ」と「ドキュメント・タイプ」)。
これは、多くのアイテムを返す問合せの場合に役に立ちます。たとえば、結果セットに、「Public」セキュリティ・グループに属する100のドキュメント、「Sales」グループに属する75のドキュメント、および「Marketing」グループに属する25のドキュメントを含む、200のコンテンツ・アイテムが含まれているとします。「セキュリティ・グループ」のメニュー・オプションには、値リストと、各値に属するドキュメント数が表示されます。メニューから値(「Public」、「Sales」、「Marketing」)の1つを選択すると、その値に属するドキュメントのみが結果セットのリストに示されます。
Oracle Content Serverでは、使用される文脈での検索語の出現を示すために、検索結果の一部としてドキュメントのスニペットを取得できます。この機能は、デフォルトで無効になっています。この機能を有効にするには、config.cfgファイルで次の構成エントリを設定します。ただし、検索問合せのパフォーマンスに影響することがあります。
OracleTextDisableSearchSnippet=false
Oracle Text 11gを使用するためのその他の変更は、次のとおりです。
XMLコンテンツには、自動的に索引が付けられます。
「検索」ユーザー・インタフェースには、検索演算子オプションとして「Substring」が削除されている以外に目に見える変更はありません。デフォルトの検索演算子は、CONTAINS、MATCHESおよびHAS WORD PREFIXです。部分文字列ベースの問合せはそのまま機能します。
MATCHES演算子を非最適化フィールドで使用する問合せは、CONTAINS問合せと同じ動作をします。たとえば、xDepartment
が最適化されていない場合、問合せxDepartment MATCHES 'Marketing'
はxDepartment CONTAINS 'Marketing'
と同じ動作をし、コンテンツ・アイテムで'Marketing Services'
または'Product Marketing'
のxDepartment
値を持つヒットを返します。
関連性のランキングは、DEFINESCOREという演算子の使用により、Oracle Text 11gで変更される可能性があります。この演算子は、SearchQueryDefinition
表(searchindexerrules
構成ファイル内)のOracleTextSearch
のWhereClause
値にコンポーネントを使用して追加できます。この演算子の詳細は、『Oracle Textリファレンス』を参照してください。
以前はフルテキスト検索ボックスに入力していたような複雑な問合せを、現在は「クエリー・ビルダー・フォーム」の詳細オプションに入力します。「クエリー・ビルダー・フォーム」については、『Oracle Fusion Middleware Content Serverユーザーズ・ガイド』を参照してください。
エスケープ文字を指定する必要がある場合は、構成変数AdditionalEscapeChars=を使用します。デフォルト設定は次のとおりです。
AdditionalEscapeChars=_:#,-:#
デフォルトでは、アンダースコア(_)とハイフン(-)がエスケープ文字として設定されます。
PDFの強調表示機能は無効になりました。
スペル・チェック機能は有効にできますが、Autonomy VDKの場合と同様に、カスタム・コンポーネントが必要です。
この項の内容は次のとおりです。
最適化するフィールドを決定するときには、次のことを考慮します。
問合せで完全一致検索を行うか。
検索で照合を高速化するか。
検索結果をフィールド別にソートするか。
デフォルトでは、OracleTextSearch機能で、「コンテンツID」および「ドキュメント・タイトル」メタデータ・フィールドが最適化されます。
最大32フィールドを、Oracle Text Search機能で最適化フィールドとして定義できます。Oracle Content Serverインスタンスでは、最大32の最適化フィールドを設定できます。これには、データ、整数、dInDate、dOutDateなどのOracle Content Serverの標準フィールド、および最適化するように選択されたフィールドが含まれます。最適化されたすべてのフィールドはSDATAフィールドで、デフォルトではdDocName、dDocTitle、dDocTypeおよびdSecurityGroupが含まれます。
整数フィールドの表示は動的で、Oracle Content Serverシステム構成に依存します。
メタデータの非最適化フィールドを選択し、検索のための最適化フィールドに割り当てたり、最適化フィールドを編集して非最適化にすることができます。
最適化フィールドの割当てまたは編集を行う手順:
Oracle Content Serverインスタンスにシステム管理者としてログインします。
ナビゲーション・バーで「管理」をクリックします。
「管理アプレット」をクリックします。
「構成マネージャ」、「情報フィールド」タブ、「拡張検索のデザイン」の順にクリックします。
構成マネージャ・アプレットの詳細は、『Oracle Fusion Middleware Content Serverアプリケーション管理者ガイド』を参照してください。
メタデータ・フィールドを最適化するには、「フィールドの編集」をクリックします。「metadata_fieldの詳細なオプション」画面で、「最適化されています」を選択します。
最適化フィールドを編集して非最適化にするには、「フィールドの編集」をクリックします。「metadata_fieldの詳細なオプション」画面で、「最適化されています」を選択解除します。
フィールドの移動が完了したら、リポジトリ・マネージャで「索引の高速再構築」を使用し、検索コレクションを更新して新規および変更したフィールドを使用します。
注意: 高速再構築は、検索コレクションの再構築が進行中の場合は機能しません。 |
高速再構築機能により、コレクション全体を再構築することなく、検索エンジンで検索コレクションに新しい情報を追加できます。高速再構築は次の場合に必要です。
情報フィールドの追加または削除
任意の最適化フィールドの変更
情報フィールドの最適化フィールドへの変更
Oracle Content Serverインスタンスにシステム管理者としてログインします。
ナビゲーション・バーで「管理」をクリックします。
「管理アプレット」、「リポジトリ・マネージャ」、「インデクサ」タブの順にクリックします。
「リポジトリ・マネージャ: インデクサ」タブが表示されます。
「コレクション再構築サイクル」画面で「開始」をクリックします。
「インデクサの再構築」画面が、検索索引の再構築には時間がかかることを示す警告とともに表示されます。今すぐに再構築を開始しない場合は「取消」をクリックし、それ以外の場合はこの手順を続行します。
「インデクサの再構築」画面で、「OK」をクリックします。
検索コレクションの高速再構築が実行されます。
注意: 検索コレクションの再構築が進行中の場合、高速再構築は実行されません。 |
注意: 高速再構築プロセスでは、「全文」、「メタデータのみ」、「削除」のインデクサ・カウンタ値は作成されません。インデクサ・カウントの統計値を取得するには、コレクション全体の再構築を実行する必要があります。 |
OracleTextSearch機能には、「検索結果」ページにデフォルトのメニュー・オプションが用意されています(Oracle Database構成スクリプトで設定)。
DrillDownFields=dDocType, dSecurityGroup
管理者は、最適化フィールドのリストからもう1つオプションを追加し、検索結果をさらにカスタマイズできます。構成を編集して、DrillDownFields
のリストにオプションを追加します。
注意: この機能では、複数値オプションのリストはサポートされません。 |
注意: DrillDownfields 設定に変更を加えた後には、高速再構築を実行する必要があります。 |
OracleTextSearchによる検索の実行は、検索演算子オプションとして「Substring」が削除されている以外に「検索: 拡張フォーム」に目に見える変更がない点を除き、一般に同じです。デフォルトの検索演算子はCONTAINSです。部分文字列ベースの問合せはそのまま機能します。
検索の実行の詳細は、『Oracle Fusion Middleware Content Serverユーザーズ・ガイド』を参照してください。
次の表で、デフォルトの検索演算子について説明します。
演算子 | 説明 | 例 |
---|---|---|
CONTAINS | メタデータ・フィールドで、指定された語または句全体を持つコンテンツ・アイテムを検索します。
これはOracleTextSearch、またはオプションのDBSearchContainsOpSupportコンポーネントが有効化されているOracle DatabaseおよびMicrosoft SQL Serverデータベースでのみ使用できます。 |
「タイトル」フィールドにform と入力した場合、タイトルにform という語を持つアイテムは返されますが、performance またはreform という語を持つアイテムは返されません。 |
MATCHES | メタデータ・フィールドで、指定された値と完全に一致するアイテムを検索します。 | 「タイトル」フィールドにaddress change form と入力した場合、address change form と完全に一致するタイトルのアイテムが返されます。
非最適化フィールドでMATCHES演算子を使用する問合せは、CONTAINS演算子を使用する問合せと同じ動作をします。 たとえば、 |
HAS WORD PREFIX | メタデータ・フィールドの頭の部分で、指定された語を持つすべてのコンテンツ・アイテムを検索します。指定された値の前後にワイルドカード文字は置かれません。 | 「タイトル」フィールドにform と入力した場合、タイトルの頭の部分にform という語を持つすべてのアイテムは返されますが、タイトルがperformance またはreform という語で始まるアイテムは返されません。 |
「クイック検索」フィールドを使用している場合であっても、次のワイルドカードをメタデータ検索フィールドで使用できます。
アスタリスク(*)は、ゼロまたは多数の英数字を示します。例:
form*
は、form
およびformula
と一致します。
*orm
は、form
およびreform
と一致します。
*form*
は、form
、formula
、reform
およびperformance
と一致します。
疑問符(?)は、1つの英数字を示します。例:
form?
は、forms
およびform1
と一致しますが、form
またはformal
とは一致しません。
??form
はreform
と一致しますが、perform
とは一致しません。
注意: アスタリスク(*)または疑問符(?)をワイルドカードとして扱わずに検索する場合は、"here*" のように、検索語を引用符で囲む必要があります。 |
「検索: 拡張フォーム」を使用して検索を実行すると、「検索結果」ページには、検索結果を選択的に表示できるオプションを含む追加のメニュー・バーが表示されますこのオプションは、検索結果のフィルタ処理に使用されるカテゴリを表しています。このオプションは状況依存であるため、1つのオプションに対して1つしかコンテンツ・アイテムが返されなかった場合、メニュー自体に表示される結果は、図7-1に示すように1つのみです。オプションのデフォルト・セットには、Content Type
、Security Group
およびAccount
が含まれます。
注意: 「検索結果」のOracleTextSearchメニューの2つのデフォルト・メニュー・オプションを、カスタマイズ・メニュー・オプションSecurity GroupおよびDocument Typeに置き換えることができます。 |
1つのオプションに対して複数のコンテンツ・アイテムが検索された場合、オプション名の横に矢印が表示されます。オプション名の上にカーソルを移動すると、メニューにそのオプションに対する検索結果で見つかったカテゴリのリストと、カテゴリごとのコンテンツ・アイテム数が表示されます。メニューで任意のカテゴリ名をクリックして、「検索結果」ページにそのカテゴリに一致するアイテムのみを表示するように変更できます。
図7-2は、Security Groupのカテゴリのリストと各カテゴリで検索されたアイテム数を示しています。
図7-2 スニペット付きの検索結果の表示と開かれたOracle Text Searchメニュー
要素 | 説明 |
---|---|
Filter by Category | 検索結果のフィルタ処理に使用されるカテゴリ(「Content Type」、「Security Group」、「Account」など)を表示します。 |
Content Type | (デフォルト)検索結果内のコンテンツ・アイテムのタイプと各タイプの数を表示します。
コンテンツ・タイプ名の1つをクリックすると、そのコンテンツ・タイプに一致するアイテムのみを表示するように検索結果が変更されます。 |
Security Group | (デフォルト)セキュリティ・グループと、検索結果で各グループに割り当てられたコンテンツ・アイテムの数を表示します。セキュリティ・グループには、「Administration」、「Public」および「Secure」があります。
セキュリティ・グループ名の1つをクリックすると、そのセキュリティ・グループに一致するアイテムのみを表示するように検索結果が変更されます。 |
アカウント | (デフォルト)アカウント・タイプと、検索結果で各アカウントに割り当てられたアイテムの数を表示します。
アカウント・タイプの1つをクリックすると、そのアカウントに一致するコンテンツ・アイテムのみを表示するように検索結果が変更されます。 |
Oracle Secure Enterprise Search (Oracle SES)11gにより、企業のすべての情報資産に対する安全、高品質かつ容易な検索が可能になります。Oracle SES 11gを使用するライセンスを持っている場合、Oracle SESを次のように使用するように、Oracle Universal Content Management (Oracle UCM)を構成できます。
OracleTextSearch機能により、Oracle SESをOracle UCMの外部フルテキスト検索エンジンとして使用できるようにする。7.2.1項「Oracle SESを外部フルテキスト検索エンジンとして使用」を参照してください。
SESCrawlerExportコンポーネントにより、プライマリ検索エンジンとしてでなくとも、Oracle SESがOracle Content Serverインスタンスのコンテンツを検索できるようにする。7.2.2項「Oracle SESでSESCrawlerExportを使用してOracle Content Serverコンテンツを検索」を参照してください。
Oracle SESの詳細は、『Oracle Secure Enterprise Search管理者ガイド』を参照してください。
Oracle Secure Enterprise Search (Oracle SES)11gをバックエンド検索エンジンとして使用するように、Oracle UCMをOracleTextSearch機能で構成できます。この構成により、ユーザーは1つのファイルに対して複数のOracle Content Serverインスタンスを検索できます。
OracleTextSearchオプションとともに使用するようにOracle SESを構成するには、次の手順を実行します。
注意: Oracle UCMでOracle SES以外の検索エンジンをすでに使用していて(Oracle UCMの「構成後処理」ページで設定されたエンジンなど)、その検索エンジンをOracle SESに変更する場合、新規データベース・プロバイダを作成し、そのプロバイダを使用してOracle UCMにOracle SESを構成する必要があります。7.2.1.2項「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に対してOracle Fusion Middlewareリポジトリ作成ユーティリティ(RCU)を実行して、OCSEARCHスキーマを作成します。OCSEARCHでは、Oracle SESでRCUによってすでに設定されているデータベースの検索部分のみが設定されます。
このスキーマを作成するには、RCUの「コンポーネントの選択」画面で「Oracle Content Server 11g - 検索のみ」を選択します。RCUの実行の詳細は、『Oracle Fusion Middleware Oracle Enterprise Content Management Suiteインストレーション・ガイド』のOracle Enterprise Content Management Suiteのスキーマの作成に関する項を参照してください。
標準のOracle Enterprise Content Management SuiteインストールおよびOracle UCMインストールを実行します。
注意: Oracle UCMの「構成後処理」ページの構成後処理ステップは行わないでください。このページでは、通常のデータベース構成が設定されるためです。Oracle Enterprise Content Management SuiteのインストールとOracle UCMの構成を実行する手順は、『Oracle Fusion Middleware Oracle Enterprise Content Management Suiteインストレーション・ガイド』を参照してください。 |
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作成プロセスで指定したパスワードです。
パスワードの確認: データベース・アカウントのパスワードを再入力します。
「次へ」をクリックします。
「構成のテスト」をクリックします。ページ上部にメッセージ"Connection test succeeded"
が表示されたことを確認して、「次」をクリックします。
使用可能なターゲット・サーバーのリストから、新しいJDBCデータ・ソースをデプロイするターゲットContent Serverのチェックボックスを選択します。たとえば、ターゲットContent ServerにはUCM_server1という名前が付けられています。
「終了」をクリックします。
Oracle UCMの「構成後処理」ページで、外部全文検索オプションの選択を選択して、データ・ソース名を入力します。
Oracle UCMインスタンスを再起動します。
Oracle UCMでOracle SES以外の検索エンジンをすでに使用していて(Oracle UCMの「構成後処理」ページで設定されたエンジンなど)、その検索エンジンをOracle SESに変更する場合、新規データベース・プロバイダを作成し、そのプロバイダを使用してOracle UCMに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 Fusion Middlewareリポジトリ作成ユーティリティ(RCU)を実行して、OCSEARCHスキーマを作成します。OCSEARCHでは、Oracle SESでRCUによってすでに設定されているデータベースの検索部分のみが設定されます。
このスキーマを作成するには、RCUの「コンポーネントの選択」画面で「Oracle Content Server 11g - 検索のみ」を選択します。RCUの実行の詳細は、『Oracle Fusion Middleware Oracle Enterprise Content Management Suiteインストレーション・ガイド』のOracle Enterprise Content Management Suiteのスキーマの作成に関する項を参照してください。
Oracle WebLogic ServerインスタンスでOracle SESに接続する新規データ・ソース(WLS DataSource)を作成します。
Oracle WebLogic Server管理コンソールで、「サービス」メニューを使用して「JDBC」、「データ・ソース」の順に選択します。JDBCデータ・ソースのサマリーを示す画面が表示されます。
「新規」をクリックして、「新しいデータ・ソースの作成」画面で次のアイテムの値を入力します。
名前: 新しいデータ・ソース名ExternalSearchProviderを入力します
JNDI名: 新しい名前を再入力します。
データベース・タイプ: Oracleと入力します。
データベース・ドライバ: *Oracleのインスタンス接続用ドライバ(Thin XA)をクリックします。
「次」をクリックして、「トランザクション・オプション」を表示します。
「次」をクリックして、データベース・パラメータを入力します。手順4で説明したように、search.properties
ファイルでデータベース接続情報を見つけることができます。
データベース名: SES
など、接続するデータベースの名前を入力します。
ホスト名: データベース・サーバーのIPアドレスを入力します。
ポート: データベース接続用のデータベース・サーバーのポート番号を入力します。
データベース・ユーザー名: データベース・アカウントのユーザー名を入力します。これは、RCU作成プロセスで指定したSchemaOwner名です。
パスワード: データベース接続の作成に使用するデータベース・アカウントのパスワードを入力します。これは、RCU作成プロセスで指定したパスワードです。
パスワードの確認: データベース・アカウントのパスワードを再入力します。
「次へ」をクリックします。
「構成のテスト」をクリックします。ページ上部にメッセージ"Connection test succeeded"
が表示されたことを確認して、「次」をクリックします。
使用可能なターゲット・サーバーのリストから、新しいJDBCデータ・ソースをデプロイするターゲットContent Serverのチェックボックスを選択します。たとえば、ターゲットContent ServerにはUCM_server1という名前が付けられています。
「終了」をクリックします。
注意: Oracle WebLogic Serverインスタンスを再起動する必要はありません。 |
Oracle UCMで検索(データベース)プロバイダを変更します。
Oracle UCMインスタンスにログインします。
「管理」、「プロバイダ」の順に選択します。
新規データベース・プロバイダを作成する行で、「追加」をクリックします。
新しいデータベース・プロバイダの設定を入力または確認します。
プロバイダ名: ExternalSearchProvider
。
プロバイダの説明: External Database Provider
。
プロバイダ・クラス: intradoc.jdbc.JdbcWorkspace
。
接続クラス: intradoc.jdbc.JdbcConnection
。
データベース・タイプ: ORACLE
を選択します。
データ・ソースの使用: このボックスを選択します。
データ・ソース: SES
など、データ・ソースの名前を入力します。
問合せのテスト: select * from SES.IDCTEXT
など、問合せのテストを入力します。
接続の数: デフォルトでは、5
に設定されています。
追加のストレージ・キー: デフォルトでは、system
に設定されています。
「追加」をクリックします。
Oracle UCMインスタンスを再起動します。新規データベース・プロバイダ名が、「プロバイダ」画面のリストに表示されているはずです。
Oracle UCMインタフェースで、「管理」、「管理サーバー」、「一般構成」の順に選択します。
「一般構成」の「追加の構成変数」セクションで、次の設定を入力または確認します。
SearchIndexerEngineName=OracleTextSearch
IndexerDatabaseProviderName=ExternalSearchProvider
Oracle UCMインスタンスを再起動します。
リポジトリ・マネージャ・アプレットを使用して、検索索引を再構築します。
リポジトリ・マネージャの詳細は、『Oracle Fusion Middleware Content Serverアプリケーション管理者ガイド』を参照してください。
Oracle UCM SESCrawlerExportコンポーネントにより、RSSフィード・ジェネレータとしての機能がOracle Content Serverインスタンスに追加され、Oracle Secure Enterprise Search (Oracle SES)による検索が可能になりました。このコンポーネントは、Oracle Content Serverインスタンスの現在のコンテンツのスナップショットを生成して、Oracle SES Crawlerに提供します。
SESCrawlerExportコンポーネントは、インデクサ・アクティビティに基づいて、内部インデクサからRSSフィードをXMLファイルとして生成します。このコンポーネントは、元のOracle UCMコンテンツ(Microsoft Wordドキュメントなど)、Web表示可能レンディション、および各ドキュメントの関連付けられているすべてのメタデータにアクセスできます。このコンポーネントには、インデクサからメタデータ値を適用してXMLドキュメントを生成するIdocスクリプトを含むテンプレートもあります。
SESCrawlerExportは、すべてのドキュメントの初期クロール用のRSSフィードを生成するほかに、更新および削除されたドキュメントの増分クロール用のフィードを生成します。各ドキュメントは、フィード内のアイテム、そのアイテムの操作(挿入、削除、更新など)、そのメタデータ(作成者、サマリーなど)、URLリンクなどになることができます。インデクサは定期的(約30秒)にウェイクアップし、変更されたドキュメントのデータ・フィードを作成します。
Oracle SES用Oracle Content Serverコネクタは、クローリング・スケジュールに従って、SESCrawlerExportにより提供されるフィードを読み取ります。Oracle SESは汎用RSSクローラ・フレームワークを使用して、メタデータ情報を解析および抽出し、ドキュメントのコンテンツを取得します。
Oracle Content Serverインスタンスで、YahooUserInterfaceLibraryコンポーネントが有効になっている必要があります。このコンポーネントには、SESCrawlerExportが初期クロール時にフィード生成ステータスをレポートするために使用するJavaScriptライブラリがあります。
注意: SESCrawlerExportコンポーネントは、Oracle Content Serverインスタンスで使用される検索エンジンの影響を受けません。SESCrawlerExportは、Oracle SESによる検索の実行方法に影響を与えません。 |
SESCrawlerExportコンポーネントにアクセスする手順:
Oracle UCM Oracle Content Serverインスタンスにログオンします。
ポータル・ナビゲーション・ツリーまたはメニューを使用して、「管理」、「管理サーバー」の順に選択します。
「コンポーネント・マネージャ」ページで、統合コンポーネントのリストから「SESCrawlerExport」を選択します。
「更新」をクリックします。
SESCrawlerExportコンポーネントが有効化されます。
ナビゲーション・ポータル・ツリーまたはメニューから、「管理」、「SESCrawlerExport」の順に選択して「SESCrawlerExport管理」ページを表示します。このページを使用して、コンテンツのスナップショットを取得してRSSフィードを生成し、「SESCrawlerExportの構成」ページにアクセスします。
Oracle Content Serverインスタンスのコンテンツのスナップショットを取得すると、Oracle SES Crawlerに提供するフィードが生成されます。スナップショットにより、SESCrawlerExportコンポーネントのFeedLocパラメータで指定された場所で、configFile.xmlが生成されます。XMLフィードは、wikisなどのソース名でサブディレクトリに作成されます。Oracle Content Serverインスタンスに格納されているアイテム数および生成しているソース数によっては、スナップショットの実行に多少時間がかかることがあります。
スナップショットを取得する手順:
ポータル・ナビゲーション・ツリーまたはメニューから、「管理」、「SESCrawlerExport」の順にクリックします。
「SESCrawlerExport管理」ページで、使用可能なメニュー・オプションから、スナップショットを取得するソースを選択します。
コンテンツ・ソースのリストから「すべてのソース」を選択すると、SESCrawlerExportで、定義されているすべてのソースに対してRSSフィードが生成されます。個別のソースを選択したり、ソースのサブセットを選択して、それらのソースのスナップショットのみを取得することもできます。configFile.xmlドキュメントの更新により再索引付けが行われる場合、同じ場所にフィードも生成されます。
「スナップショットの取得」をクリックします。
注意: configFile.xmlファイルは、初期スナップショットまたは任意のドキュメントの最初の更新のどちらか最初に行われた方の、同じ構成に対して1度生成されます。 |
SESCrawlerExportコンポーネントには、データ・フィードのソース、コンテンツ、メタデータ、データ・フィードごとのアイテム数などを指定するために構成できる、複数のパラメータがあります。パラメータに対する変更はただちに有効になりますが、変更内容を伝播するには、スナップショットを新たに再取得する必要があります。
これらのパラメータを構成する手順:
ポータル・ナビゲーション・ツリーまたはメニューから、「管理」、「SESCrawlerExport」の順に選択します。
「SESCrawlerExport管理」ページで、「SESCrawlerExportの構成」をクリックします。
「構成」ページが表示されます。
次のSESCrawlerExportパラメータ・フィールドに値を入力するか、値を確認します。
要素 | 説明 |
---|---|
ホスト名
(sceHostname) |
エクスポートされるコンテンツをホスティングする、Oracle UCMインスタンスのホスト名の文字列。値が空白の場合、ホスト名はOracle SESエクスポートを実行するホストに設定されます。このフィールドはIdoc対応です。 |
フィード・ロケーション
(sceFeedLoc) |
構成ファイルとデータ・フィードが書き込まれるディレクトリ。configFile.xmlファイルはこの場所で生成されます。データ・フィードとコンテンツは、この場所のソース名を持つサブディレクトリで生成されます。 |
メタデータ・リスト
(sceMetadataList) |
Oracle SESにエクスポートされるメタデータ値のカンマで区切られたリスト。値が空白の場合、メタデータ値のリストは次のフィールドで構成されます: dID、dDocName、dRevLabel、dDocType、dDocAccount、dSecurityGroup、dOriginalName、dReleaseDate、dOutDateおよびすべてのカスタム・メタデータ・フィールド(文字「x」で始まる)。
このフィールドに一連のメタデータ・フィールドが入力されている場合、それらのフィールドのみがOracle SESにエクスポートされます。これらのフィールドには、標準またはカスタム・メタデータ・フィールドを指定できます。 |
管理者の電子メール
(sceAdminEmail) |
クローリング・エラーの発生時に電子メールで通知される、電子メール・アドレス、ユーザー名、ユーザー・エイリアスのカンマで区切られたリスト。 |
カスタム・メタデータ・ブラックリスト
(sceCustomMetadataBlacklist) |
Oracle SESにエクスポートされない、メタデータ値のカンマで区切られたリスト。これらのフィールドには、標準またはカスタム・メタデータ・フィールドを指定できます。 |
データフィード当たりの最大アイテム数
(sceMaxItems) |
各データ・フィードのコンテンツ・アイテムの最大数。(フィード内のコンテンツ・アイテムは操作です。例: ドキュメントの挿入、更新または削除。) |
コア・フィルタ
(sceCoreFilter) |
コンテンツに対して事前フィルタ処理を実行して、Oracle SESへのエクスポート対象から削除します。この値はデフォルト設定のままにすることをお薦めします。 |
クローラ・ロール
(sceCrawlerRole) |
Oracle SESがOracle Content Serverインスタンスのクロールに使用するアカウントで必要なOracle UCMロール。デフォルトでは、Oracle Content Server admin ロールは必須です。
注意: Oracle SESからのクロールに、デフォルトのOracle WebLogic Server管理者アカウントは使用しないでください。かわりに、外部ソース(LDAPプロバイダなど)の管理者アカウントまたはローカルのOracle Content Serverアカウントを使用します。必要に応じて、このSESCrawlerExportフィールドを使用して、必須ロール
|
ソース名
(sceSourceName) |
Oracle Content Serverインスタンスで作成されたすべてのコンテンツ・ソースの、カンマで区切られたリスト。リストされた各ソースは、まったく同じです(ミラー化)。複数のソースを持つことで、このインスタンスのコンテンツを、複数のOracle SESサーバーが別々に消費できます。
これらのソース名がフィード・ロケーション・ディレクトリのサブディレクトリ名として使用されて、データ・フィードとコンテンツが保持されます。 注意: 名前「ssSource」は予約されたソース名で、このフィールドでは使用できません。 |
Secure APIの無効化
(sceDisableSecureAPIs) |
SESCrawlerExportコンポーネントで提供されるサービスのセキュリティが内部的に実行されるか(false )、またはOracle Content Serverによってネイティブに実行されるか(true )を判断する、ブール・フラグ。詳細は、7.2.2.3.2項「Oracle Content ServerソースをOracle Single Sign-Onで構成」を参照してください。 |
Oracle Content Serverコネクタにより、Oracle SESはOracle UCM.でOracle Content Serverインスタンスを検索できるようになります。コネクタは、クローリング・スケジュールに従って、Oracle Content Serverインスタンスによって提供されたフィードを読み取ります。Oracle SESからデータをクロールするには、タイプOracle Content Server
のソースを作成する必要があります。コネクタ・パッチをインストールしてOracle Content Serverソースを作成する手順の詳細は、『Oracle Secure Enterprise Search管理者ガイド』のOracle Content Serverソースの設定に関する項を参照してください。
Oracle Content Serverソースの設定には、次のパラメータを使用します。
構成URL:
http://host_name/instance_name/idcplg?IdcService=SES_CRAWLER_DOWNLOAD_CONFIG&source=source_name
source_name
で表されるパラメータは、SESCrawlerExportコンポーネントのソース名(sceSourceName)パラメータで使用される文字列の1つと同じである必要があります。このパラメータは、Oracle Content Serverインスタンスのコンテンツ・ソースの1つを指しています。例:
http://stahz16/ucm/idcplg?IdcService=SES_CRAWLER_DOWNLOAD_CONFIG&source=cs
認証および認可用HTTPエンドポイント: Oracle UCMアイデンティティ・プラグインのアクティブ化および認可マネージャの構成時に、HTTPエンドポイントの値を求められます。一般に、2つの値は、同一Oracle UCMインスタンスでは同じで、形式はhttp://
host_name
/
instance_name
/idcplg
です。例: http://my.host.com/ucm/idcplg
。この値は、Oracle Content Serverインスタンスに対するすべてのサービス・コールのエンドポイントとして使用されます。この値は、ナビゲーション・ポータルで「管理」、「管理サーバー」、「インターネットの構成」の順に選択して検索することもできます。現在のURL (URLパラメータなし)をHTTPエンドポイントとして使用します。
Oracle Content ServerインスタンスがOracle single sign-on (OSSO)で保護されている場合、Oracle SESがSESCrawlerExportによって提供されるサービスにアクセスできるように、SESCrawlerExportコンポーネントの構成を変更する必要があります。「SESCrawlerExportの構成」ページに移動し、「Secure APIの無効化」パラメータをtrue
に設定して、内部セキュリティ・メカニズムを無効にします。
Oracle Content ServerインスタンスがOracle single sign-on (OSSO)以外のシングル・サインオン・ソリューションで保護されている場合、Oracle SESがSESCrawlerExportコンポーネントによって提供されるサービスにアクセスできるように、何らかの変更を加える必要があります。
構成: Oracle single sign-on以外のシングル・サインオン・ソリューションを使用している場合、SESCrawlerExportコンポーネントによって提供されるサービスのセキュリティは、コンポーネント自体によって提供されます。「SESCrawlerExportの構成」ページに移動し、「Secure APIの無効化」パラメータをfalse
に設定して、内部SESCrawlerExportセキュリティ・メカニズムを有効にします。
Webサーバー: Oracle SESはシングル・サインオン・ソリューションと互換性がないため、SESCrawlerExportコンポーネントによって提供されるサービスへのアクセスは、シングル・サインオンをバイパスする必要があります。選択したシングル・サインオン・ソリューションによっては、バイパスを作成することが、サービスのサブセットへのアクセスを許可するようにWebサーバーを構成することと同じくらい簡単な場合もあります。
Oracle Content Serverインスタンスで追加のWebサーバーを設定する場合、そのWebサーバーは標準のOracle Content Serverポートとは別のポート(ポート80以外のポート)で実行される必要があります。シングル・サインオン保護をまったく設定せずに、この追加のWebサーバーを構成します。また、このWebサーバーへのOracle SESのアクセスのみを許可するように、アクセス制御リストを設定します。Oracle SESの構成では、Oracle Content Serverソースの構成URLで、この追加のWebサーバー・ポートを使用します。
Oracle Content Serverソース格納場所スクリプトは完全にカスタマイズ可能なIdocスクリプトで、コンテンツ・アイテムのメタデータを評価して、このコンテンツ・アイテムを設定するソースを返します。
ソース格納場所スクリプトを作成または更新するページにアクセスする手順:
ポータル・ナビゲーション・ツリーまたはメニューから、「管理」、「SESCrawlerExport」の順に選択します。
「SESCrawlerExport管理」ページで、「SESCrawlerExportの構成」をクリックします。
「構成」ページが表示されます。
「SESCrawlerExportの構成」ページで、「ソース格納場所の構成スクリプト」をクリックします。
「ソース格納場所の構成スクリプト」ページが表示されます。
表示された領域にIdocスクリプトを入力します。
デフォルトでは、ソース格納場所スクリプトは#all
に設定され、Latest Released
とフラグが付けられたすべてのコンテンツ・アイテムをOracle Content Serverインスタンスで構成されたすべてのソース(「ソース名」パラメータを参照)に送信します。#all
ソース名は、すべてのソースがコンテンツ・アイテムを受信することを示す予約キーワードです。
同様に、#none
ソース名も予約キーワードですが、これはコンテンツ・アイテムをソースに送信しないことを示します(基本的に、コンテンツ・アイテムはOracle SESにエクスポートされない)。
「更新」をクリックします。
ソース格納場所スクリプトを削除するには、「リセット」をクリックします。
ソース格納場所スクリプトをテストするには、コンテンツ・アイテムのドキュメント名(dDocName)を表示されたフィールドに入力して、「テスト」をクリックします。
スクリプトに構文エラーがある場合、構文エラーのタイプに応じて、エラーはページまたはサーバー出力に表示されます。論理エラーは、「SESCrawlerExportソース格納場所スクリプト」ページで修正して、ただちにテストを再実行できます。
スクリプトが存在しないソース名を返した場合、サーバー出力でエラーが生成されます。無効なソース名が削除され、アイテムの処理は続行されますが、ログに記録されます。この問題は、ソース名をスクリプトから削除するか、Oracle Content Serverインスタンスに新しい「ソース名」パラメータ値を追加することで訂正できます。
スクリプトでは、複数のソース名をカンマで区切って返すことができます。
次の例では、ソース格納場所スクリプトを設定して、ドキュメント・タイプ(dDocType)がADACCT
のすべてのコンテンツ・アイテムがaccounting
という名前のソースに送信され、その他はすべてdefault
という名前のソースに含まれています。accounting
およびdefault
ソースは、「SESCrawlerExportの構成」ページでそれぞれの名前を「ソース名」パラメータに追加することで、別個に設定する必要があります。
<$if dDocType like "ADACCT" $> accounting <$else$> default <$endif$>