検索機能の管理

この章では、Oracle TextをOracle WebCenter Contentのプライマリ・フルテキスト検索エンジンとして使用するようにOracleTextSearch機能を構成する方法、およびフルテキスト・データベース検索を構成する方法について説明します。

この章では、再構築時間が大幅に短縮されたElasticsearchの構成方法と、OpenSearchの構成方法についても説明します。

この章の構成は、次のとおりです。

OracleTextSearchの管理

Oracle DatabaseでOracleTextSearch機能を使用するライセンスがある場合、Oracle Text製品をWebCenter Contentのプライマリ・フルテキスト検索エンジンとして使用するようにOracleTextSearchを構成できます。Oracle Textには、最新の索引付け機能があります。Oracle Textには独自の問合せ構文があります。これは、一般的なエンドユーザーではなく、アプリケーションまたは情報の専門家が使用することを意図したものです。

OracleTextSearchにより、管理者は、特定のメタデータ・フィールドを検索索引用に最適化するように指定したり、追加のフィールドをカスタマイズできます。また、この機能を使用すると、索引再構築と索引の最適化を迅速に実行することもできます。

この項の内容は次のとおりです。

OracleTextSearchを使用する上での考慮事項

OracleTextSearch機能の使用を検討する上で重要な事項を、次に示します。

Oracle Textの機能と利点

この項の内容は次のとおりです。

索引付けおよび問合せの速度と方法

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のマネージメント』管理ツールの理解に関する項を参照してください。

マルチスレッド索引付け

MultiThreadIndexerコンポーネントは、(シングルスレッド・プロセスであり、クラスタ内に構成されたサーバーの1つでのみ実行されるように特別に設計されている)既存のレガシー・インデクサにある程度の並列性を導入することで、索引付けのスループットを向上させるように設計されています。

MultiThreadIndexerコンポーネントの設計は、現在、ORACLETEXTSEARCH (OTS)検索エンジンでの使用のみに制限されており、テキスト抽出とOTS索引作成をパラレルに実行できます。この機能はエンド・ユーザーに対してシームレスで透過的であり、UIを含むすべての機能は同じままです。

新しいMultiThreadIndexer機能を使用するには:

  1. MultiThreadIndexerコンポーネントを有効にします。
  2. config.cfgファイルで次の構成が設定されていることを確認します:

    SearchIndexerEngineName=ORACLETEXTSEARCH
    EnableMultiThreadIndexer=true
  3. WebCenter Content Serverを再起動します。

ノート:

高速再構築

OracleTextSearchでは、リポジトリ・マネージャ・アプリケーションの「インデクサ」タブで「コレクション再構築サイクル」ウィンドウを使用する際、「インデクサの再構築」ウィンドウが用意されています。高速再構築機能により、検索エンジンは、コレクション全体を再構築することなく、検索コレクションに新しい情報を追加できます。高速再構築は次の場合に必要です。

高速再構築により、すべての情報(メタデータとフルテキスト)に索引が付け直されるわけではありません。コレクション全体に変更を追加し、更新します。高速再構築サイクル中にコンテンツ・サーバーの検索機能に対する影響はありません。

高速再構築の実行については、「高速再構築の実行」を参照してください。

問合せ構文

Universal Query Syntaxで定義されている問合せがサポートされており、通常変更は不要です。これには、ユーザーが保存した問合せ、カスタム・コンポーネントで定義された問合せ、Site Studioのページで定義された問合せが含まれます。

OracleTextSearchの演算子

Oracle Textでは、次のデフォルトがサポートされています。

検索シソーラス

stemRelated Termなどの特定の問合せは、Oracle Textシソーラスを使用すると、効果が上がる場合があります。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の使用によって生じるその他の変更点は次のとおりです。

コンテンツ・サーバー用のOracleTextSearchの構成

コンテンツ・サーバーを最初にインストールするときにOracleTextSearchを指定しなかった場合、この機能を構成するには、次の手順を実行します。

  1. コンテンツ・サーバー・インスタンスのconfig.cfgファイルをテキスト・エディタで開きます。例: MW_HOME/user_projects/domain/servers/ucm/config/config.cfg

  2. 次のプロパティ値を設定します。

    SearchIndexerEngineName=OracleTextSearch

    ノート:

    ACLを使用しており、UseEntitySecurity=trueがOracleTextSearchに検索エンジンとして設定されている場合、コンテンツ・サーバー・インスタンスのconfig.cfgファイルで次のコードも設定する必要があります。

    ZonedSecurityFields=xClbraUserList,xClbraAliasList
  3. システム・データベースではなく外部データ・ソースを使用する場合は、次のプロパティ設定の値SystemDatabaseを外部データベース・プロバイダ名に変更します。

    IndexerDatabaseProviderName=SystemDatabase

    ノート:

    IndexerDatabaseProviderNameの値として、SystemDatabaseではなく、別のOracle Databaseを指定できます。

    OracleTextSearchで使用するコンテンツ・サーバー・データベースがOracle Databaseでない場合は、OracleTextSearchのための外部プロバイダを構成する必要があります。ドライバおよびfmwgenerictoken.jarMW_HOME/oracle_common/modules/oracle.jdbc_11.1.1/ojdbc6dms.jarから取得します。

  4. ファイルを保存します。

  5. Content Serverインスタンスを再起動します。手順については、「Fusion Middleware Controlを使用したコンテンツ・サーバーまたはInbound Refineryの再起動」を参照してください。

  6. 検索索引を再構築します。

    索引の再構築の詳細は、「検索索引の使用」を参照してください。インストール時のContent ServerおよびOracleTextSearchの構成の詳細は、『Oracle WebCenter Contentのインストールと構成』WebCenter Content構成ページに関する項全文検索オプションを参照してください。

最初にコンテンツ・サーバーでOracleTextSearchを使用した外部プロバイダを使用するよう構成したものの、SystemDatabaseの使用に切り替える必要がある場合は、システム・データベース・スキーマに対してcontentprocedures.sqlスクリプトを手動で実行する必要があります。このスクリプト・ファイルはWC_CONTENT_ORACLE_HOME/ucm/idc/database/oracle/admin/ディレクトリにあります。

OracleTextSearchの管理

この項の内容は次のとおりです。

最適化するフィールドの決定

最適化するフィールドを決定するときには、次のことを考慮します。

デフォルトでは、OracleTextSearch機能で、「コンテンツID」および「ドキュメント・タイトル」メタデータ・フィールドが最適化されます。

最大32フィールドを、Oracle Text Search機能で最適化フィールドとして定義できます。コンテンツ・サーバー・インスタンスでは最大で32の最適化フィールドを保持でき、これらの最適化フィールドには、データ、整数、コンテンツ・サーバーの標準フィールド(dInDate、dOutDate、最適化対象として選択したフィールドなど)が格納されます。最適化されたすべてのフィールドはSDATAフィールドで、デフォルトではdDocName、dDocTitle、dDocTypeおよびdSecurityGroupが含まれます。

整数フィールドの表示は動的で、コンテンツ・サーバー構成に依存します。

最適化フィールドの割当て/編集

メタデータの非最適化フィールドを選択し、検索のための最適化フィールドに割り当てたり、最適化フィールドを編集して非最適化にすることができます。

最適化フィールドの割当てまたは編集を行うには:

  1. 「管理」「デスクトップ・クライアント・アプリケーション」を選択します。

  2. 「構成マネージャ」「情報フィールド」タブ→「拡張検索のデザイン」を選択します。構成マネージャの詳細は、『Oracle WebCenter Contentのマネージング』補助メタデータ・セットのエクスポートに関する項を参照してください。

  3. メタデータ・フィールドを最適化するには、「フィールドの編集」をクリックします。「metadata_fieldの詳細なオプション」ウィンドウで、「最適化されています」を選択します。

  4. 最適化フィールドを編集して非最適化にするには、「フィールドの編集」をクリックします。「metadata_fieldの詳細なオプション」ウィンドウで、「最適化されています」の選択を解除します。

  5. フィールドの移動が完了したら、リポジトリ・マネージャで「索引の高速再構築」を使用し、検索コレクションを更新して新規および変更したフィールドを使用します。

ノート:

高速再構築は、検索コレクションの再構築が進行中の場合は機能しません。

高速再構築の実行

高速再構築機能により、検索エンジンは、コレクション全体を再構築することなく、検索コレクションに新しい情報を追加できます。高速再構築は次の場合に必要です。

高速再構築を行うには:

  1. 「管理」「デスクトップ・クライアント・アプリケーション」を選択します。

  2. 「リポジトリ・マネージャ」「インデクサ」タブを選択します。

  3. リポジトリ・マネージャ・アプリケーションの「インデクサ」タブの「コレクション再構築サイクル」部分で、「起動」をクリックします。

    「インデクサの再構築」ウィンドウが、検索索引の再構築には時間がかかることを示す警告とともに開きます。今すぐに再構築を開始しない場合は「取消」をクリックし、それ以外の場合はこの手順を続行します。

  4. 「インデクサの再構築」ウィンドウで、「OK」をクリックします。

    検索コレクションの高速再構築が実行されます。

ノート:

検索コレクションの再構築が進行中の場合、高速再構築は実行されません。

ノート:

高速再構築プロセスでは、「全文」、「メタデータのみ」、「削除」のインデクサ・カウンタ値は作成されません。インデクサ・カウントの統計値を取得するには、コレクション全体の再構築を実行する必要があります。

検索結果で表示されるフィールドの変更

OracleTextSearch機能には、「検索結果」ページにデフォルトのメニュー・オプションが用意されています(Oracle Database構成スクリプトで設定)。

DrillDownFields=dDocType, dSecurityGroup

管理者は、最適化フィールドのリストからもう1つオプションを追加し、検索結果をさらにカスタマイズできます。構成を編集して、DrillDownFieldsのリストにオプションを追加します。(この機能では、複数値オプションのリストはサポートされません。)

DrillDownfields設定に変更を加えた後には、高速再構築を実行する必要があります。

OracleTextSearchによる検索

OracleTextSearchによる検索の実行は、検索演算子オプションとして「Substring」が削除されている以外に「検索: 拡張フォーム」に目に見える変更がない点を除き、一般に同じです。デフォルトの検索演算子はCONTAINSです。部分文字列ベースの問合せはそのまま機能します。

『Oracle WebCenter Contentの使用』Oracle Text Searchによる検索に関する項を参照してください。

次の表で、デフォルトの検索演算子について説明します。

演算子 説明
CONTAINS メタデータ・フィールドで、指定した単語またはフレーズ全体を含むコンテンツ・アイテムを検索します。

これは、OracleTextSearch、またはオプションのDBSearchContainsOpSupportコンポーネントが有効化されているOracle DatabaseおよびMicrosoft SQL Serverデータベースでのみ使用可能です。
「タイトル」フィールドにformと入力した場合、タイトルにformという語を持つアイテムは返されますが、performanceまたはreformという語を持つアイテムは返されません。
MATCHES 指定した値と完全に一致する値がメタデータ・フィールドに含まれるアイテムを検索します。 「タイトル」フィールドにaddress change formと入力すると、タイトルがaddress change formと完全に一致するアイテムが返されます。

最適化されていないフィールドでMATCHES演算子を使用する問合せの動作は、CONTAINS演算子を使用する問合せと同じです。

たとえば、xDepartmentフィールドが最適化されていない場合、問合せxDepartment MATCHES 'Marketing'の動作はxDepartment CONTAINS 'Marketing'と同じで、xDepartmentの値が'Marketing Services'または'Product Marketing'であるドキュメントがあればヒットを返します。
HAS WORD PREFIX 指定した語がメタデータ・フィールドの先頭に含まれるコンテンツ・アイテムをすべて検索します。指定する値の前後にワイルドカード文字を配置しません。 「タイトル」フィールドにformと入力した場合、タイトルの頭の部分にformという語を持つすべてのアイテムは返されますが、タイトルがperformanceまたはreformという語で始まるアイテムは返されません。

ノート: CONTAINSおよびHAS WORD PREFIX演算子が使用されている場合、ワイルドカード(?および*)を使用して特殊文字をエスケープすることはできません。たとえば、Webcenter_ContentというdDocTitleがある場合、CONTAINSおよびHAS WORD PREFIX演算子を使用してWebcenter?ContentやWebcenter*Contentで検索することはできません。

メタデータ・ワイルドカードの使用

「クイック検索」フィールドを使用している場合であっても、次のワイルドカードをメタデータ検索フィールドで使用できます。

ノート:

アスタリスク(*)または疑問符(?)をワイルドカードとして扱わずに検索する場合は、"here*"のように、検索語を引用符で囲む必要があります。OracleTextSearchの「セキュリティ・グループ」メタデータ・フィールドでは、ワイルドカード(?)は機能しません。また、アンダースコア(_)を含むメタデータ・フィールド値は、ワイルドカード(?)を含めると機能しません。

インターネット・スタイルの検索構文の使用

通常のインターネット検索エンジンで一般的な検索手法はコンテンツ・サーバーでもサポートされています。たとえば、「クイック検索」フィールドにnew productと入力すると、new <AND> productが検索され、new, productと入力すると、new <OR> productが検索されます。

この検索のスタイルを有効にするには、変数をDoMetaInternetSearch=Trueのように設定します。この検索のスタイルを無効にするには、変数をDoMetaInternetSearch=Falseのように設定します。これはデフォルトです。詳細は、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』DoMetaInternetSearchに関する項を参照してください。

次の表に、一般的な文字がコンテンツ・サーバーでどのように解釈されるかを示します。

文字 解釈方法
スペース( ) AND
カンマ(,) OR
マイナス(-) NOT
二重引用符で囲まれた句("任意の句") 入力した句と正確に一致する句

次の表に、フルテキスト検索でインターネット・スタイルの構文がどのように解釈されるかの例を示します。

問合せ 解釈方法
new product new <AND> product
(new, product) images (new <OR> product) <AND> images
new product -images (new <AND> product) <AND> <NOT> images
"new product", "new images" "new product" <OR> "new images"

次の表に、substring演算子を使用してタイトル・メタデータを検索する場合にインターネット・スタイルの構文がどのように解釈されるかの例を示します。

問合せ 解釈方法
new product dDocTitle <substring> 'new' <AND> dDocTitle <substring> 'product'
new, product dDocTitle <substring> 'new' <OR> dDocTitle <substring> 'product'
new -product dDocTitle <substring> 'new' <AND> <NOT> 'product'
"new product" dDocTitle <substring> 'new product'

OracleTextSearch結果のスコアの調整

Oracle TextをWebCenter Contentでの検索エンジンとしてOracleTextSearchを使用する場合、スコアによる検索結果は、ドキュメントの関連性に基づきソートされます。理論上は、検索語のドキュメントに対する関連性が高ければ高いほど、受け取るスコアは高くなるはずです。実際には、検索語に基づき、あるドキュメントの重要性の、それ以外に対する関連性スコアのランク付け方法は、完全に明らかではありません。ある語がドキュメント内に特定の回数出現すると、スコアは最大値の100に到達し、上位の結果を相互に区別することは難しい場合があります。

たとえば、「vacation」という語をドキュメントのセットで検索し、7つの結果のうち6つのスコアが100であると、これらは基本的に同じランクです。多数のドキュメントのランクが同じだと、スコアによるソートはまったく意味がなくなります。

関連性によるソートに加えて、発生回数によるソートをOracle Textに伝えることもできます。発生回数によるソートは、ドキュメントのランク付けでより予測可能な結果をもたらし、多くの場合、関連性よりも意味のあるソート結果を得ることができます。

Oracle Textに発生回数によるソートを伝えるには、SearchOperatorMapリソースに対しコンポーネントを多少変更する必要があります。デフォルトでは、フルテキスト検索に使用される問合せは次のようなコードになります。

&lt;td&gt;(ORACLETEXTSEARCH)fullText&lt;/td&gt;
&lt;td&gt;DEFINESCORE((%V), <strong>RELEVANCE * .1</strong>)&lt;/td&gt;
&lt;td&gt;text&lt;/td&gt;

このリソースを上書きして、RELEVANCEのかわりにOCCURRENCEを使用するように変更します。この変更により、リソースは強制的に発生回数を使用するようになります(.1から.01へのスケールの変更にも注意してください)。

&lt;td&gt;(ORACLETEXTSEARCH)fullText&lt;/td&gt;
&lt;td&gt;DEFINESCORE((%V),<strong> OCCURRENCE * .01</strong>)&lt;/td&gt;
&lt;td&gt;text&lt;/td&gt;

前述の例と同じ検索とソート・オプションを実行すると、結果は違うものとなり、7つのドキュメントそれぞれが一意のスコアを持ちます。これにより、アイテムのランクをより明確に理解できるようになります。一般的に、あるドキュメントで検索語が他のドキュメントよりも3回多く出現すると、ユーザーが調査しようと思うドキュメントとなる可能性が高まります。

ノート:

発生回数のランクでも最大回数は100なので、ドキュメントでの検索語の発生がこの回数を超えても、スコア結果は100のままです。

サイトによっては、関連性ランクの使用が発生回数ランクよりも有用な場合もありますが、このオプションは結果に対してより適切に動作する可能性のある代替方法を提供します。

OracleTextSearchの検索結果のカスタマイズ

「検索: 拡張フォーム」を使用して検索を実行すると、「検索結果」ページには、検索結果を選択的に表示できるオプションを含む追加のメニュー・バーが表示されますこれらのオプションは、検索結果をフィルタ処理するために使用されるカテゴリを表しています。オプションは状況に応じて変化し、オプションとして返されるコンテンツ・アイテムが1つのみの場合は、図1に示すように、メニュー自体に1つの結果のみが表示されます。オプションのデフォルト・セットには、Content Type、Security GroupおよびAccountが含まれます。

ノート:

「検索結果」のOracleTextSearchメニューの2つのデフォルト・メニュー・オプションを、カスタマイズ・メニュー・オプションSecurity GroupおよびDocument Typeに置き換えることができます。

1つのオプションに対して複数のコンテンツ・アイテムが検索された場合、オプション名の横に矢印が表示されます。オプション名の上にカーソルを移動すると、そのオプションの検索結果に含まれるカテゴリのリストと各カテゴリのコンテンツ・アイテム数を示すメニューが表示されます。メニューで任意のカテゴリ名をクリックして、「検索結果」ページにそのカテゴリに一致するアイテムのみを表示するように変更できます。

図2は、Security Groupのカテゴリのリストと各カテゴリで検索されたアイテム数を示しています。

要素 説明
カテゴリによるフィルタ 検索結果のフィルタ処理に使用されるカテゴリ(「Content Type」、「Security Group」、「Account」など)を表示します。
コンテンツ・タイプ (デフォルト)検索結果には、コンテンツ・アイテムのタイプと、各タイプのコンテンツ・アイテムの数がリストされます。

コンテンツ・タイプ名の1つをクリックすると、そのコンテンツ・タイプに一致するアイテムのみを表示するように検索結果が変更されます。
セキュリティ・グループ (デフォルト)セキュリティ・グループのリスト、および検索結果におけるグループ別のコンテンツ・アイテム数が表示されます。セキュリティ・グループには、Administration、PublicおよびSecureがあります。

セキュリティ・グループ名の1つをクリックすると、そのセキュリティ・グループに一致するアイテムのみを表示するように検索結果が変更されます。
アカウント (デフォルト)検索結果には、アカウント・タイプと、各アカウントに割り当てられたアイテムの数がリストされます。

アカウント・タイプの1つをクリックすると、そのアカウントに一致するコンテンツ・アイテムのみを表示するように検索結果が変更されます。

バッチ・ロード・ファイルのレコードについて

バッチ・ロード・ファイルは、実行するアクションまたは個々のコンテンツ・アイテムに対するメタデータ(あるいはその両方)を指定する名前と値のペアのセットである、ファイル・レコードで構成されています。

ノート:

フィールド名およびパラメータは、大文字と小文字が区別されます。これらは、次の項で表示されているとおりに、バッチ・ロード・ファイルに表示される必要があります。たとえば、dDocNameは、ddocnamedDocnameまたはDDOCNAMEと同じになりません。

フルテキスト・データベース検索索引の構成

フルテキスト・データベース検索およびSQL Serverやその他のデータベースの索引付けを設定して使用するには:

  1. WebCenter Contentをコンテンツ・サーバー・インスタンスとともにインストールし、データベースを使用できるように構成します。

  2. 次のエントリをDomainHomeName\ucm\cs\config\config.cfgファイルに追加し、ファイルを保存します:

    SearchIndexerEngineName=DATABASE.FULLTEXT
  3. Content Serverインスタンスを再起動します。手順については、「Fusion Middleware Controlを使用したコンテンツ・サーバーまたはInbound Refineryの再起動」を参照してください。

  4. リポジトリ・マネージャを使用して、検索索引を再構築します。

    『Oracle WebCenter Contentのマネージメント』リポジトリ・マネージャの起動に関する項を参照してください。

ノート:

OCSスキーマのインポート後、フルテキスト・データベース検索索引の再構築に問題があると、「Oracleテキスト・コレクション'IdcText1'を作成できません。」というメッセージが表示されることがあります。この場合の解決策は、(コンテンツ・サーバーの)データベース管理者としてログインして、表IdcText1と表IdcText2を削除することです。

『Oracle Fusion Middlewareの管理』Oracle WebCenter Contentのリカバリに関する項を参照してください。

Elasticsearchの管理

WebCenter Contentを使用したElasticsearchの管理について学習します。WebCenter Contentは、REST APIを介してElasticsearchと通信します。

WebCenter Contentでは、DATABASE.METADATADATABASE.FULLTEXTORACLETEXTSEARCHを含む様々な検索インデクサ・エンジンがサポートされています。このうち、ORACLETEXTSEARCHには、関連性ランキングを使用したフルテキスト検索、複雑な問合せ構造、DATABASE.FULLTEXTと比較したパフォーマンスの向上など、豊富な検索機能が備わっています。ただし、コンテンツ・アイテムが数百万に達し、取込みが大量になるような大規模なエンタープライズ設定では、ORACLETEXTSEARCH索引の再構築に時間がかかります。

WebCenter Contentは、Elasticsearchにより提供されるREST APIを介してElasticsearchと通信します。ユーザーに公開されるWebCenter Content API/サービスは変わりません。Elasticsearchでは、APIとユーザー・インタフェースはほとんど変わっていませんが、再構築時間が大幅に短縮されています。また、ユーザーの操作性も向上し、リアルタイムに近い検索レスポンスを実現しています。

この項の内容は次のとおりです。

Elasticsearchの機能と利点

Elasticsearchには、高速再構築、完全再構築、再索引付け、ソート、ファセット、検索演算子、検索などの機能があります。

この項の内容は次のとおりです。

Elasticsearchの再構築機能の仕組み

Elasticsearchには、新しくElasticsearch Reindexという再構築オプションが導入されました。

WebCenter ContentでOracleTextSearchを使用すると、高速再構築または完全再構築(抽出あり)を実行できます。したがって、ユーザーは、高速再構築、完全再構築(抽出を行う)、Elasticsearch Reindex (Elasticsearchから完全再構築)のいずれかを選択できるようになりました。

Elasticsearchを使用する場合、「インデクサの再構築」ダイアログには、「高速再構築の使用」「コンテンツ抽出による完全再構築。」の2つのチェック・ボックスがあります。このダイアログ・ボックスにアクセスするには、「リポジトリ・マネージャ」「インデクサ」「コレクション再構築サイクル」「開始」を選択します。

高速再構築

高速再構築機能により、検索エンジンは、コレクション全体を再構築することなく、検索コレクションに新しい情報を追加できます。

検索可能フィールドを追加または削除する際には、高速再構築を実行する必要があります。「コレクション再構築サイクル」ウィンドウを開き、「高速再構築の使用」チェック・ボックスを選択して「OK」をクリックすると、高速再構築を実行できます。

完全再構築

「完全再構築」オプションは、検索索引を再構築します。

コンテンツが抽出され、メタデータを使用してOpenSearchサーバーの新しい索引にプッシュされます。このタスクは時間がかかるため、細心の注意を払って使用してください。

「コレクション再構築サイクル」ウィンドウを開いて、「コンテンツ抽出による完全再構築。」チェック・ボックスを選択し、「OK」をクリックして完全再構築を実行します。

Elasticserver ReIndex

Elasticserver ReIndexオプションでは、Elasticsearch APIを使用して、既存のコレクションを新しいコレクションに再索引付けします。

再索引付けでは、アクティブなコレクションで使用可能な抽出済のコンテンツおよびメタデータが再利用されます。このオプションは、コンテンツを抽出する必要がないため、完全再構築よりも短時間で完了します。

「コレクション再構築サイクル」ウィンドウを開いて、いずれのオプションも選択しないこともできます。「OK」をクリックして、Elasticsearch ReIndexを実行します。

他にも索引付けのオプションがあります。このオプションでは、完全再構築(抽出を行う)のかわりにElasticsearch ReIndexを実行できます。Elasticsearch ReIndexを起動するには、「管理」「管理アクション」「コレクション再構築サイクル」(セクション)「開始」を選択します。現在のバージョンでは、Elasticsearch ReIndexに対してインデクサ・カウンタは実装されていません。また、「取消」ボタンと「一時停止」ボタンが機能しない場合もあります。

ソート

Elasticsearchは既存の検索可能フィールドをSortFieldとして受け入れることができるため、検索結果の検索可能フィールドはソートできます。

フィールドをソート可または不可にするために再構築する必要はありません。フィールドのソート可/不可の切替えは、ユーザー・インタフェースで結果をソートする場合にのみ必要です。構成マネージャからフィールドをソート可能にしていない場合でも、フィールドがSortFieldとして渡されると、Elasticsearchによってそのフィールドを基準に検索結果がソートされます。

ファセット

WebCenter Content Elasticsearchでは、ドリルダウン値のデフォルト数は50です。

これは、構成内でMaxElasticSearchDrillDownValuesを使用することで構成可能であり、またバインダに渡すこともできます。MaxElasticSearchDrillDownValuesは任意の正の整数にできます。

検索演算子と検索

検索ユーザー・インタフェースに、より多くの検索演算子が組み込まれました。デフォルトの検索演算子は、ContainsMatchesHas Word PrefixStartsEndsSubstringおよびNot Matchesです。

検索

ストップワードの検索

ストップワードは、Webページの索引付けと解析を高速化するために検索から除外される一般的に使用されるワードです。ストップワードの場合、Elasticsearchは索引エントリを作成しません。

ステミング

ステミングは、テキスト問合せ(ContainsHas Word PrefixFull Text SearchおよびQuickSearch)にのみ適用できます。

OracleTextSearchとElasticsearchでは、検索エンジンの内部で使用されるディクショナリが異なるため、ワードのステミングが異なります。たとえば、OracleTextSearchでは、「find」という語の検索問合せに対してfoundfindsfindingが返され、「make」という語の問合せに対してはmakemademakesmakingが返されます。Elasticsearchでは、「find」の検索結果にはfind、finds、findingが表示され、「make」の検索結果にはmake、makes、makingが表示されます。「found」と「made」は、Elasticsearchの結果には表示されませんが、OracleTextSearchでは表示されます。

スニペット

config.cfgファイルで次の構成エントリを設定することにより、Elasticsearchでスニペット機能を有効にすることができます: ElasticSearchDisableSearchSnippet=false

この機能は、検索問合せのパフォーマンスに影響する可能性があります。Elasticsearchで表示されるスニペットは、OracleTextSearchで表示されるものとは異なります。Elasticsearchのスニペットのルック・アンド・フィールは、OracleTextSearchスニペットのルック・アンド・フィールとは異なります。Elasticsearchでは、1つの完全な文は1つのスニペットと同じです。

Elasticsearchの結果で、ドキュメントの抽出済コンテンツでなくメタデータの一致のみであったためにドキュメントが検索で返された場合、そのメタデータ値がスニペットとして表示されます。

強調表示

Elasticsearchでは検索キーワードは強調表示されますが、前および次の一致のポインタは表示されません。

OracleTextSearchでは検索キーワードが強調表示され、次および前の一致のポインタも示されます。

Elasticsearch強調表示では、抽出済コンテンツに一致がある場合のみ、ドキュメントの抽出済コンテンツが返されます。強調表示では、その特定のメタデータ値との一致があった場合にのみ、ドキュメントのメタデータが表示されます。

一致がドキュメントのメタデータのみであった場合は、一致したメタデータ・フィールドのみがリストされ、抽出済コンテンツはリストされません。

Elasticsearchの構成

この項では、WebCenter Content用にElasticsearchを構成する方法について学習します。WebCenter Content用にElasticsearchを構成する前に、クラスタのノードを保護し、Elasticsearchを保護して、ベース・ノードをまず起動してから他のノードを起動する必要があります。

WebCenter Content用にElasticsearchを構成するには、次のステップを実行します:

ノート: Elasticsearchの索引はディスク上にファイルとして格納されます。Elasticsearchが機能するためには、大きな空きディスク領域が必要です。詳細は、Oracleサポートにお問い合せください

  1. https://www.elastic.co/downloads/past-releases#elasticsearchから、8.xバージョンのElasticsearchをダウンロードして解凍します。
  2. <IdcHomeDir>/components/ElasticSearch/scriptsに移動します。

    ノート: WebCenter Contentには、ElasticsearchクラスタのElasticsearchノード(1つ以上)を保護するステップを自動化するスクリプトSecureES8.shまたはSecureES8.cmd (Elasticsearch 7.xの場合はSecureES.shまたはSecureES.cmd)が用意されています。クラスタのすべてのノードにElasticsearchクラスタがインストールされていることが前提となります。単一ノードのクラスタにすることもできます。マルチノード・クラスタの場合は、少なくとも3つのマスター候補ノードが必要です。

  3. クラスタのすべてのノードでスクリプトを実行します。ノードを実行する前に、まず保護しておく必要があります。最初にベース・ノードを起動してから、他のノードを起動する必要があります。

この項の内容は次のとおりです。

ES8node.propertiesの更新

ES8node.propertiesファイルは、初期クラスタ設定の一部として保護されるすべてのElasticsearchノードを設定する前に更新する必要があります。

設定に含めるすべてのノードを保護する前に、それらの構成を更新します。ES8node.propertiesファイルは、スクリプト・ファイルが存在するのと同じフォルダに存在する必要があります。次のステップに従います:

UNIXでのSecureES8.shの使用

このスクリプトは、UNIXでElasticsearchクラスタ・ノードを保護するステップを自動化します。

使用方法:

ヘルプを表示する場合:

./SecureES8.sh -h or --help

スクリプトを実行するには:

./SecureES8.sh -n <nodenumber>

たとえば、保護するノードが3つある場合、最初のノードでスクリプトを実行してから、他のノードでスクリプトを実行する必要があります。

./SecureES8.sh -n 1
./SecureES8.sh -n 2
./SecureES8.sh -n 3

ノート: Elasticsearchバージョン7.xの場合、Unixでは引き続きSecureES.shを使用します。

WindowsでのSecureES8.cmdの使用

このスクリプトは、WindowsでElasticsearchクラスタ・ノードを保護するステップを自動化します。

使用方法:

このスクリプトを実行するには:

SecureES8.cmd -n <nodenumber>

たとえば、保護するノードが3つある場合、最初のノードでスクリプトを実行してから、他のノードでスクリプトを実行する必要があります。

SecureES8.cmd -n 1
SecureES8.cmd -n 2
SecureES8.cmd -n 3

ノート: Elasticsearchバージョン7.xの場合、Windowsでは引き続きSecureES.cmdを使用します。

Elasticsearchの保護

最初(ベース)のノードを保護するには、これらのステップに従います:

  1. <ELASTIC_COMPONENT_DIR>/scriptsに移動します。
  2. スクリプトを実行します。Windowsの場合は、SecureES8.cmd -n <nodenumber>を実行し、Unixの場合は./SecureES8.sh -n <nodenumber>を実行します。</br> ノート: Elasticsearchバージョン7.xの場合は、引き続きSecureES.sh (Unixの場合)またはSecureES.cmd (Windowsの場合)を使用します。
  3. 証明書の名前を入力するように求められます。入力しない場合は、デフォルト名elastic-certificates.p12が使用されます。証明書の拡張子はp12である必要があります。

    証明書パスワード

    証明書のパスワードを入力します。

    パスワードの入力

  4. 証明書パスワードをキーストアに追加します。Elasticsearchキーストアが存在しない場合は、作成するように求められます。「y」を押してキーワードを作成し、続行します。ここで「N」を選択すると、ノードは保護されません。

    キーストアへの証明書パスワードの追加

    パスワードを4回入力するように求められます。前に使用した証明書パスワードを入力します。

    パスワードを4回入力

  5. 予約済ユーザーelasticのパスワードを設定します。ユーザーelasticのパスワードを入力します。これは、後のステップでWebCenter Contentと通信するユーザーを作成するために使用します。

    ブートストラップ・パスワードの入力

  6. WebCenter Contentと通信するユーザーを作成します。ユーザー名とパスワードの入力を求められます。名前を入力するか、[ENTER]を押してデフォルト名wccesadminを使用します。

    パスワードの入力

    ユーザーelasticに設定するパスワードを入力します。

    ユーザーelasticのパスワード

  7. 設定が完了すると、設定完了のメッセージが表示されます。
  8. ここではノードを起動しないでください。

クラスタの他のノードの保護

スクリプトを実行してクラスタのノードを保護する必要があります。

クラスタの他のノードを保護するには、次のステップに従います:

  1. <ELASTIC_COMPONENT_DIR>/scriptsに移動します。
  2. スクリプトを実行します。クラスタ名はすべてのノードで同じである必要があります。ノード名は一意である必要があります。

    UNIXの場合:

    ./SecureES8.sh -n 2

    Windowsの場合:

    SecureES8.cmd -n 2

    ノート: Elasticsearchバージョン7.xの場合、SecureES.sh (Unixの場合)またはSecureES.cmd (Windowsの場合)を引き続き使用します。</br></br>

  3. 設定が完了すると、設定完了のメッセージが表示されます。</br>
  4. ここではノードを起動しないでください。

Elasticsearchクラスタの起動

クラスタのすべてのノードを保護または構成した後、すべてのノードを起動できます。

すべてのノードを保護した後、各ノードの<ES_HOME>/binに移動して実行します

./elasticsearch

最初にベース・ノード(node1)を起動してから、他のノードを起動します。

最初にBASE NODE (node1)を起動してから、他のノードを起動する必要があります。

ノードの起動後は、wccesadminを使用して各ノードにアクセスできます。

https://<hostname>:<nodeport>

WebCenter Content用のElasticsearchの構成

WebCenter Content用にElasticsearchを構成する前に、Elasticsearch検索インデクサを有効にして、必須の初期構成設定を行う必要があります。

WebCenter Content用にElasticsearchを構成するには、次のステップを実行します:

  1. WebCenter Content管理対象サーバーを起動します。
  2. 「管理」「ElasticSearch」「ElasticSearch構成」の順に選択します。
  3. 次の図に示すように、Elasticsearch構成ページで、次のフィールドに値を入力します:

    • 接続するElasticsearchノード - クラスタのElasticsearchノードのカンマ区切りリスト
    • ユーザー名 - Elasticsearchに接続するユーザー名
    • パスワード - ユーザー・パスワード
    • 証明書のパス - 保護されたクラスタを使用する証明書の絶対パス
    • パスワード - 証明書パスワード Elasticsearch構成の詳細

Elasticsearchクラスタ・ヘルスの監視

WebCenter Contentが正しく機能するには、Elasticsearchクラスタ・ヘルスが良好であることが重要です。

この機能は、Elasticsearchのヘルスを1時間間隔で監視するために導入されました。Elasticsearchのヘルス問題のステータスが赤または接続が停止している場合、Elasticsearchのヘルス・ステータスが緑または黄になるまで、アラートが1分ごとに追加および監視されます。Elasticsearchヘルスのステータスが緑または黄に変わると、ヘルス・アラートは自動的に削除され、その後は1時間ごとに監視が続行されます。

次の図は、Elasticsearch接続が一時的に停止していることを示しています。

接続が停止していることを示す赤のアラート

索引設定の構成

必要なデータに従って、異なる索引のシャードおよびレプリカを構成できます。

この新機能により、Elasticsearch索引ごとにシャード数およびレプリカ数をカスタマイズできます。Elasticsearchの設計に従って、Elasticsearchの各索引はWebCenter Contentのセキュリティ・グループにマップされます。索引は、次の場合に作成されます:

シャードおよびレプリカは、ユーザー構成に基づいてシステムに作成されるときに索引に割り当てられます。これらの設定に対する更新は、次の完全再構築または再索引付けサイクルの後にのみ反映されます。シャード数およびレプリカ数に制限を設定できます。

シャード数: 5から300の範囲の整数値である必要があります。デフォルト値は5です。

レプリカ数: 1または2である必要があります。デフォルト値は1です。

Elasticsearchとの接続が確立されておらず、索引がまだ作成されていない場合は、既存のElasticsearchアラートとともに追加のオプション・アラートが表示されます。

アラート・メッセージ

このアラート・メッセージをクリックすると、「ElasticSearch索引設定」ページにリダイレクトされます。このページでは、システムに存在するセキュリティ・グループ(索引)ごとにシャードおよびレプリカをカスタマイズできます。

Elasticsearchとの接続の確立が成功すると、これらのカスタマイズされた設定を持つ索引が作成されます。他の検索エンジンからElasticsearchに移行する場合、これらの索引をカスタマイズされた設定で作成するには、移行が成功する必要があります。

すでに構成されているElasticsearchインスタンスの場合、索引はデフォルトの索引設定で作成されます。

索引設定を構成するには:

  1. 「管理」「ElasticSearch」「ElasticSearch索引設定」の順に選択します。
  2. 「索引設定の構成」ページでは、目的のシャードおよびレプリカ数で索引を構成できます。更新されたシャードおよびレプリカ設定は、次の後に反映されます:

    • 次の完全再構築または再索引付けサイクル
    • 新規インスタンスでの正常な接続の確立
    • 別の検索エンジンから切り替える場合の移行 特定の索引を更新することはできません。「更新」ボタンをクリックすると、すべてのレコードが更新されます。

    「索引設定の構成」ページ

  3. Elasticsearchサーバーから取得されたすべてのアクティブな索引とそのシャードおよびレプリカ設定を表示するには、「アクティブな索引設定」タブを選択します。

    アクティブな索引設定の表示

新規セキュリティ・グループの追加

WebCenter ContentからElasticsearchサーバーへの接続が成功した後に新しいセキュリティ・グループが追加されると、対応する索引がデフォルト・シャード数(5)およびレプリカ数(1)でElasticsearchに作成されます。

設定をカスタマイズする場合は、「ElasticSearch索引設定」ページから行うことができますが、これらは次の再構築または再索引付けサイクルの後にのみ反映されます。

既存の検索索引のElasticsearchサーバーへの移行

アクティブな検索索引からElasticサーバーに移行すると、アクティブな索引はes1に変更されます。

ノート: OTSからElasticsearchへの500万件のレコードの移行中、すべてのテキスト・フィールドについて、Elasticsearchの様々な検索操作に対して4種類のマッピングを作成する必要があります。Elasticsearchでは、これらのマッピングは異なるフィールドとみなされます。たとえば、テキスト・フィールドdDocTitleにはdDocTitledDocTitle.normalizedDocTitle.keyworddDocTitle.stemがあり、これらは1つのフィールドではなく4つのフィールドとみなされます。そのため、250のテキスト・フィールドがある場合、Elasticsearchではそれらを250*4 = 1000フィールドとみなします。テキスト・フィールド以外のメタデータの場合、マッピングは1つのみです。不要なメタデータ・フィールドを削除すると、移行アクティビティを実行できるようになります。

既存のWebCenter ContentインスタンスがORACLETEXTSEARCH (OTS)検索エンジンを使用するように構成されている場合は、すでに抽出されたコンテンツをフェッチするためにアクティブな索引ots1/ots2が使用されます。移行アクティビティが成功すると、アクティブな検索索引がElasticサーバー(es1)に変更されます。

「管理」を選択すると、「ページ<hostname with port>の構成」が表示されます。次に示すように、ots1/ots2がアクティブな索引として表示されます:

アクティブな索引ots1

移行するには、「管理」「ElasticSearch」を選択します。ElasticSearch移行ページが表示されます。次に示すように、「移行する検索エンジン」ドロップダウン・メニューから適切な検索エンジンを選択します:

ElasticSearch移行ページ

「移行バッチ・サイズ」は、Elasticsearchサーバーにプッシュするためにまとめてバッチ処理するドキュメント数を決定します。ORACLETEXTSEARCHのようなフルテキスト検索エンジンの場合、バッチにはドキュメントのテキスト抽出コンテンツとそのメタデータも含まれるため、バッチ・サイズは慎重に選択する必要があります。

「メタデータのみ移行」は、テキスト抽出コンテンツをElasticsearchサーバーにプッシュする必要があるかどうかを指定します。ORACLETEXTSEARCHのようなフルテキスト検索エンジンの場合、これは常にFalseに設定する必要があります。つまり、テキスト抽出コンテンツもElasticsearchサーバーにプッシュする必要があります。

移行アクティビティの開始時に、次に示すような、最近のすべての移行ジョブとそのステータス詳細の表がリストされます:

移行ジョブ

実行中の移行アクティビティは一時停止または再開でき、また失敗した最近の移行アクティビティがあれば再試行できます。完了した移行アクティビティの詳細を次に示します:

完了ステータス

移行アクティビティが成功すると、次に示すようにアクティブな索引がes1に切り替わります:

es1に移行されたアクティブな索引

ノート: 移行アクティビティが成功すると、移行アラート・バナーが削除されます。

OpenSearchの管理

WebCenter Contentを使用したOpenSearchの管理について学習します。

OpenSearchを使用したOracle Cloud Infrastructure (OCI) Search Serviceは、Oracle管理サービスとして提供されるインサイト・エンジンです。ダウンタイムなしで、サービスのパッチ適用、更新、アップグレード、バックアップおよびサイズ変更がOracleによって自動化されます。大量のデータをすばやく格納、検索および分析し、結果をほぼリアルタイムで確認できます。

WebCenter Contentは、REST APIを介してOpenSearchと通信します。ユーザーに公開されるWebCenter Content APIまたはサービスは変わりません。

この項の内容は次のとおりです。

OpenSearchの機能と利点

OpenSearchには、高速再構築、完全再構築、再索引付け、ソート、ファセット、検索演算子、検索などの機能があります。

この項の内容は次のとおりです。

OpenSearchの再構築機能の仕組み

OpenSearchには、新しくOpenSearch Reindexという再構築オプションが導入されました。

WebCenter ContentでOpenSearchを使用すると、高速再構築または完全再構築(抽出あり)を実行できます。したがって、ユーザーは、高速再構築、完全再構築(抽出を行う)、OpenSearch Reindex (Elasticsearchから完全再構築)のいずれかを選択できるようになりました。

OpenSearchを使用する場合、「インデクサの再構築」ダイアログには、「高速再構築の使用」「コンテンツ抽出による完全再構築。」の2つのチェック・ボックスがあります。このダイアログ・ボックスにアクセスするには、「リポジトリ・マネージャ」「インデクサ」「コレクション再構築サイクル」「開始」を選択します。

高速再構築

高速再構築機能により、検索エンジンは、コレクション全体を再構築することなく、検索コレクションに新しい情報を追加できます。

検索可能フィールドを追加または削除する際には、高速再構築を実行する必要があります。「コレクション再構築サイクル」ウィンドウを開き、「高速再構築の使用」チェック・ボックスを選択して「OK」をクリックすると、高速再構築を実行できます。

完全再構築

「完全再構築」オプションは、検索索引を再構築します。

コンテンツが抽出され、メタデータを使用してOpenSearchサーバーの新しい索引にプッシュされます。このタスクは時間がかかるため、細心の注意を払って使用してください。

「コレクション再構築サイクル」ウィンドウを開いて、「コンテンツ抽出による完全再構築。」チェック・ボックスを選択し、「OK」をクリックして完全再構築を実行します。

OpenSearch ReIndex

OpenSearch ReIndexオプションでは、OpenSearch APIを使用して、既存のコレクションを新しいコレクションに再索引付けします。

再索引付けでは、アクティブなコレクションで使用可能な抽出済のコンテンツおよびメタデータが再利用されます。このオプションは、コンテンツを抽出する必要がないため、完全再構築よりも短時間で完了します。

「コレクション再構築サイクル」ウィンドウを開いて、いずれのオプションも選択しないこともできます。「OK」をクリックして、OpenSearch ReIndexを実行します。

他にも索引付けのオプションがあります。このオプションでは、完全再構築(抽出を行う)のかわりにOpenSearch ReIndexを実行できます。OpenSearch ReIndexを起動するには、「管理」「管理アクション」「コレクション再構築サイクル」(セクション)「開始」を選択します。現在のバージョンでは、OpenSearch ReIndexに対してインデクサ・カウンタは実装されていません。また、「取消」ボタンと「一時停止」ボタンが機能しない場合もあります。

ソート

OpenSearchは既存の検索可能フィールドをSortFieldとして受け入れることができるため、検索結果の検索可能フィールドはソートできます。

フィールドをソート可または不可にするために再構築する必要はありません。フィールドのソート可/不可の切替えは、ユーザー・インタフェースで結果をソートする場合にのみ必要です。構成マネージャからフィールドをソート可能にしていない場合でも、フィールドがSortFieldとして渡されると、OpenSearchによってそのフィールドを基準に検索結果がソートされます。

ファセット

WebCenter Content OpenSearchでは、ドリルダウン値のデフォルト数は50です。

これは、構成内でMaxOpenSearchDrillDownValuesを使用することで構成可能であり、またバインダに渡すこともできます。MaxOpenSearchDrillDownValuesは任意の正の整数にできます。

検索演算子と検索

検索ユーザー・インタフェースに、より多くの検索演算子が組み込まれました。デフォルトの検索演算子は、ContainsMatchesHas Word PrefixStartsEndsSubstringおよびNot Matchesです。

検索

ストップワードの検索

ストップワードは、Webページの索引付けと解析を高速化するために検索から除外される一般的に使用されるワードです。ストップワードの場合、OpenSearchは索引エントリを作成しません。

ステミング

ステミングは、テキスト問合せ(ContainsHas Word PrefixFull Text SearchおよびQuickSearch)にのみ適用できます。

OracleTextSearchとOpenSearchでは、検索エンジンの内部で使用されるディクショナリが異なるため、ワードのステミングが異なります。たとえば、OracleTextSearchでは、「find」という語の検索問合せに対してfoundfindsfindingが返され、「make」という語の問合せに対してはmakemademakesmakingが返されます。OpenSearchでは、「find」の検索結果にはfind、finds、findingが表示され、「make」の検索結果にはmake、makes、makingが表示されます。「found」と「made」は、OpenSearchの結果には表示されませんが、OracleTextSearchでは表示されます。

スニペット

OpenSearchでスニペット機能を有効にするには、config.cfgファイルで次の構成エントリを設定します: OpenSearchDisableSearchSnippet=false

この機能は、検索問合せのパフォーマンスに影響する可能性があります。OpenSearchで表示されるスニペットは、OracleTextSearchで表示されるものとは異なります。OpenSearchのスニペットのルック・アンド・フィールは、OracleTextSearchスニペットのルック・アンド・フィールとは異なります。OpenSearchでは、1つの完全な文は1つのスニペットと同じです。

OpenSearchの結果で、ドキュメントの抽出済コンテンツでなくメタデータの一致のみであったためにドキュメントが検索で返された場合、そのメタデータ値がスニペットとして表示されます。

強調表示

OpenSearchでは検索キーワードは強調表示されますが、前および次の一致のポインタは表示されません。

OracleTextSearchでは検索キーワードが強調表示され、次および前の一致のポインタも示されます。

OpenSearch強調表示では、抽出済コンテンツに一致がある場合のみ、ドキュメントの抽出済コンテンツが返されます。強調表示では、その特定のメタデータ値との一致があった場合にのみ、ドキュメントのメタデータが表示されます。

一致がドキュメントのメタデータのみであった場合は、一致したメタデータ・フィールドのみがリストされ、抽出済コンテンツはリストされません。

OpenSearchの構成

この項では、WebCenter Content用のOpenSearchの構成、クラスタのヘルスのモニターおよび索引設定の構成を行う方法を学習します。

WebCenterコンテンツは、既存のOCI OpenSearchクラスタに接続します。

この項の内容は次のとおりです。

OCIを使用したWebCenter Content用のOpenSearchの構成

OCIを使用してWebCenter Content用のOpenSearchを構成するには、次のステップに従います:

  1. WebCenter Contentインスタンスの場合、WebCenter Contentドメイン・ファイルおよびディレクトリを所有するユーザー(通常はユーザーoracle)としてログインしたシェルを開きます。
  2. ディレクトリを<WCC domain path>に変更します。
  3. OpenSearch証明書を取得するには、WebCenter Contentインスタンスのシェルで次のコマンドを実行します:

    openssl s_client -showcerts -connect <OpenSearch private IP>:9200 </dev/null
    | sed -n -e '/-.BEGIN/,/-.END/ p' > cert.pem
  4. WebCenter ContentインスタンスからOpenSearchクラスタへの接続をテストするには:

    /usr/bin/curl -u <username>:<password> https:<OpenSearch private IP>:9200 –insecure

    これは、WebCenter ContentインスタンスがOSクラスタにアクセスできるかどうかを確認するための単純なテストにすぎません。成功すると、次が返されます:

    [oracle@wcctestinstance ~]$ /usr/bin/curl -u <username>:<password> https://<OpenSearch private IP>:9200
    {
      "name" : "opensearch-master-0",
      "cluster_name" : "amaaaaaal6hvfiqauqzbmvklzsowhydlrvpdfa544kitmgdymnugepq5nkwq",
      "cluster_uuid" : "EtrnIgjXQmmuK4gBdf02xg",
      "version" : {
        "distribution" : "opensearch",
        "number" : "2.11.0",
        "build_type" : "tar",
        "build_hash" : "unknown",
        "build_date" : "2024-05-28T05:20:26.940869407Z",
        "build_snapshot" : false,
        "lucene_version" : "9.7.0",
        "minimum_wire_compatibility_version" : "7.10.0",
        "minimum_index_compatibility_version" : "7.0.0"
      },
      "tagline" : "The OpenSearch Project: https://opensearch.org/"
    }
  5. シェルで、ディレクトリを<WCC domain path>/ucm/cs/configに変更します。クラスタ化されたWebCenter Contentの場合、config.cfgファイルは、WebCenter Contentで使用されるファイル共有の下に配置されます。
  6. config.cfgファイルを編集します。次のエントリを

    SearchIndexerEngineName=OPENSEARCH

    SearchIndexerEngineNameOracleTextSearchまたはDATABASE.METADATAに設定されている場合、それらの行を削除するかコメント・アウトします。

  7. ファイルを保存し、終了します。
  8. WebCenter Content管理対象サーバーを再起動します。
  9. WebCenter Contentページを開きます。
  10. 「管理」「OpenSearch」「OpenSearch構成」の順に選択します。
  11. 「OpenSearch構成」ページで、WebCenter Content用のOpenSearchの構成の説明に従って、フィールドの値を入力します。「更新」ボタンをクリックします。

WebCenter ContentがOpenSearchに接続すると、次のステータスが表示されます:

OpenSearchの初期構成では、初期コレクションの再構築は必要ありません。「OpenSearch構成」ページのパラメータが完了し、WebCenter ContentがOpenSearchに接続されると、コレクションの再構築は必要ありません。

構成の一部として、(WebCenter Contentセキュリティ・グループに基づく) OpenSearch索引が作成されます。アイテムはチェックインして検索できます。以前にチェックインされたアイテムも検索可能です。

ノート: 新しいメタデータ・フィールドを作成する場合、または別のWebCenter ContentインスタンスのフィールドをCMUを使用して移行する場合は、作成またはCMUインポート後、ただちに高速再構築を実行します。

高速再構築が実行されるまで:

高速再構築では、索引にそのフィールドがまだ存在していないフィールドで、フィールド値に索引付けする必要がある場合、完了までに非常に時間がかかります。詳細は、ElasticSearch高速再構築の完了に長時間かかるを参照してください。

WebCenter Content用のOpenSearchの構成

WebCenter Content用にOpenSearchを構成する前に、OpenSearch検索インデクサを有効にして、必須の初期構成設定を行う必要があります。

初期構成設定を次の図に示します。

検索オプション

前述のステップを実行していない場合は、WebCenter Content管理対象サーバーを停止し、config.cfgファイルで次のパラメータを設定します:

SearchIndexerEngineName=OPENSEARCH

ここで、WebCenter Content管理対象サーバーを起動します。

WebCenter Content用のOpenSearchを構成するには、次のステップに従います:

  1. WebCenter Content管理対象サーバーを起動します。
  2. 「管理」「OpenSearch」「OpenSearch構成」の順に選択します。
  3. 次の図に示すように、「OpenSearch構成」ページで、次のフィールドに値を入力します:

    • OpenSearchクラスタ - クラスタのOpenSearchノードのカンマ区切りリスト
    • 接続するOpenSearch証明書タイプ - OpenSearchに接続するための証明書タイプ
    • ルート証明書のパス - ルート証明書の絶対パス
    • 認可 - OpenSearchと通信する方法 ノート: OpenSearch 2.xを使用している場合は、認可方式として「Basic認証」を使用する必要があります。

    OpenSearch構成の詳細

OpenSearchクラスタ・ヘルスの監視

WebCenter Contentが正しく機能するには、OpenSearchクラスタ・ヘルスが良好であることが重要です。

この機能は、OpenSearchのヘルスを1時間間隔で監視するために導入されました。OpenSearchのヘルス問題のステータスが赤または接続が停止している場合、OpenSearchのヘルス・ステータスが緑または黄になるまで、アラートが1分ごとに追加および監視されます。OpenSearchヘルスのステータスが緑または黄に変わると、ヘルス・アラートは自動的に削除され、その後は1時間ごとに監視が続行されます。

索引設定の構成

必要なデータに従って、異なる索引のシャードおよびレプリカを構成できます。

この新機能により、OpenSearch索引ごとにシャード数およびレプリカ数をカスタマイズできます。OpenSearchの設計に従って、OpenSearchの各索引はWebCenter Contentのセキュリティ・グループにマップされます。索引は、次の場合に作成されます:

シャードおよびレプリカは、ユーザー構成に基づいてシステムに作成されるときに索引に割り当てられます。これらの設定に対する更新は、次の完全再構築または再索引付けサイクルの後にのみ反映されます。シャード数およびレプリカ数に制限を設定できます。

シャード数: 5から300の範囲の整数値である必要があります。デフォルト値は5です。

レプリカ数: 1または2である必要があります。デフォルト値は1です。

OpenSearchとの接続が確立されておらず、索引がまだ作成されていない場合は、既存のOpenSearchアラートとともに追加のオプション・アラートが表示されます。

アラート・メッセージをクリックすると、OpenSearch索引設定ページにリダイレクトされます。このページでは、システムに存在するセキュリティ・グループ(索引)ごとにシャードおよびレプリカをカスタマイズできます。

OpenSearchとの接続の確立が成功すると、これらのカスタマイズされた設定を持つ索引が作成されます。他の検索エンジンからOpenSearchに移行する場合、これらの索引をカスタマイズされた設定で作成するには、移行が成功する必要があります。

すでに構成されているOpenSearchインスタンスの場合、索引はデフォルトの索引設定で作成されます。

索引設定を構成するには:

  1. 「管理」「OpenSearch」「OpenSearch索引設定」の順に選択します。
  2. 「索引設定の構成」ページでは、目的のシャードおよびレプリカ数で索引を構成できます。更新されたシャードおよびレプリカ設定は、次の後に反映されます:

    • 次の完全再構築または再索引付けサイクル
    • 新規インスタンスでの正常な接続の確立
    • 別の検索エンジンから切り替える場合の移行 特定の索引を更新することはできません。「更新」ボタンをクリックすると、すべてのレコードが更新されます。

    「索引設定の構成」ページ

  3. OpenSearchサーバーから取得されたすべてのアクティブな索引とそのシャードおよびレプリカ設定を表示するには、アクティブな索引設定タブを選択します。

    アクティブな索引設定の表示

新規セキュリティ・グループの追加

WebCenter ContentからOpenSearchサーバーへの接続が成功した後に新しいセキュリティ・グループが追加されると、対応する索引がデフォルト・シャード数(5)およびレプリカ数(1)でOpenSearchに作成されます。

設定をカスタマイズする場合は、OpenSearch索引設定ページから行うことができますが、これらは次の再構築または再索引付けサイクルの後にのみ反映されます。

既存の検索索引のOpenSearchへの移行

WebCenter Contentサーバーが以前に他の検索エンジン(OTS、FULLTEXT、Elasticsearchなど)で構成されていて、検索エンジンがOpenSearchに変更された場合は、コンテンツを移行する必要があります。

移行するには、「管理」「OpenSearch」「OpenSearch移行」の順に選択します。次の図は、ElastisearchからOpenSearchへの移行を示しています。ElastisearchからOpenSearchへの移行中、「移行する検索エンジン」ドロップダウン・メニューでは「メタデータ」オプションのみを使用できます。

OpenSearch移行

「移行バッチ・サイズ」は、OpenSearchサーバーにプッシュするためにまとめてバッチとして含めるドキュメント数を決定します。バッチ・サイズを慎重に選択する必要があります。バッチには、ドキュメントのテキスト抽出コンテンツとそのメタデータも含まれます。

「メタデータのみ移行」は、テキスト抽出コンテンツをOpenSearchサーバーにプッシュする必要があるかどうかを指定します。OpenSearchのようなフルテキスト検索エンジンの場合、これは常にFalseに設定する必要があります。つまり、テキスト抽出コンテンツもOpenSearchサーバーにプッシュする必要があります。

移行アクティビティの開始時に、最近のすべての移行ジョブとそのステータス詳細の表がリストされます。