10 WebCenter Portalでの検索の構成
検索を構成して、WebCenter Portalのオブジェクトの索引付けと検索を行います。
ノート:
リリース12c (12.2.1.4.0)からは、Oracle WebCenter PortalでのOracle SESのサポートは非推奨になりました。以前のリリースからアップグレードした場合、Oracle SESを使用するように、アップグレードしたインスタンスを構成できます。このリリースでは、ElasticsearchまたはOpenSearchを使用したOCI検索サービスを使用してオブジェクトの索引付けと検索を行うようWebCenter Portalを構成する必要があります。権限:
この章のタスクを実行するには、Oracle WebLogic Server管理コンソールでWebLogic ServerのAdmin
ロール、WebCenter Portal管理を使用して付与されるAdministrator
ロールが付与されている必要があります。
ロールと権限の詳細は、「管理操作、ロールおよびツールの理解」を参照してください。
トピック:
Elasticsearchとの統合
Elasticsearchを構成して、WebCenter Portalのオブジェクトの索引付けと検索を行います。
Elasticsearchでの検索の理解
Elasticsearchは高度にスケーラブルな検索エンジンです。大量のデータを迅速に保存、検索および分析でき、HTTP WebインタフェースとスキーマレスなJSONドキュメントを使用する分散型マルチテナント対応の全文検索エンジンを備えています。
Elasticsearchの利点
-
Elasticsearchは、Luceneに組み込まれている機能と同様の全文検索機能を備えています。
-
Elasticsearchはドキュメント指向型です。データを構造化されたJSONドキュメントとして保存し、すべてのフィールドがデフォルトで索引付けされるため、優れたパフォーマンスを実現します。
-
ElasticsearchはAPI指向であり、シンプルなRestful APIを使用して処理の実行が可能です。
-
Elasticsearchでは、テキストを直接検索するかわりに索引を検索するので、検索結果を高速に取得します。
WebCenter Portalでは、Elasticsearchを構成して次のリソースを検索できます。
-
ドキュメント(Wikiおよびブログを含む)
-
ポータル、ページ・メタデータ、ページ・コンテンツ(HTML、テキストおよびスタイル・テキスト・コンポーネントのコンテンツ)、リストおよび人的リソース
-
お知らせおよびディスカッション(以前のリリースからアップグレードされたポータルでのみ使用可能)
Elasticsearchの構成の前提条件
次の要件を確認してください。
-
Oracle WebCenter Portalがインストールされていること。
-
オプション検索にWebCenter Contentを使用する場合は、WebCenter Contentが構成され、必要なコンポーネントがすべて有効になっていることを確認してください。「Oracle WebCenter Content Serverへの接続の管理」を参照してください。
WebCenter PortalでのElasticsearchの構成ロードマップ
表10-1 ロードマップ - WebCenter PortalでのElasticsearchの設定
担当者 | タスク |
---|---|
管理者 |
|
管理者 |
|
管理者 |
|
管理者 |
WebCenter Portalの検索の構成 |
管理者 | 検索クローラの構成 |
管理者 |
(オプション) WebCenter Portal管理での検索設定のカスタマイズ |
管理者 |
(オプション)検索のグローバル属性の変更 |
管理者 |
(オプション)検索のカスタム属性の構成 |
管理者 |
(オプション)カスタム・ファセットの作成 |
Elasticsearchおよびプラグインのインストール
次のトピックでは、単一のサーバー、クラスタを設定し、Oracle HTTP Serverを使用してロード・バランシングを行う方法について説明します:
単一サーバーの設定
OHSを使用したクラスタおよびロード・バランシングの設定
システム設定の変更
デフォルトでは、ElasticsearchサーバーはHTTPおよびトランスポート(内部)通信のループバック・アドレスにバインドされます。クラスタに参加するには、トランスポート通信を介してElasticsearchサーバーに到達でき、非ループバック・アドレスにトランスポートをバインドする必要があります。非ループバック・アドレスにバインドされると、Elasticsearchサーバーはブートストラップ・チェックを適用します。そのため、正常に実行するには、次のシステム設定をroot
ユーザーとして変更する必要があります:
<install-user>
の開いているファイル・ハンドルの最大数は65,536以上である必要があります。ログイン・ユーザーの現在の値は、ulimit -n
コマンドを使用して取得されます。目的の値まで増やすには、/etc/security/limits.conf
ファイルに次の行を追加します:
ファイルを閉じて保存します。更新された設定を有効にするには、<install-user> - nofile 65536
<install-user>
がログアウトして再度ログインする必要があります。<install-user>
の最大スレッド数は4096以上である必要があります。ログイン・ユーザーの現在の値は、ulimit -u
コマンドを使用して取得できます。目的の値まで増やすには、次の行を
/etc/security/limits.conf
ファイルに追加します:<install-user> - nproc 4096
ファイルを閉じて保存します。更新された設定を有効にするには、
<install-user>
がログアウトして再度ログインする必要があります。<install-user>
の最大仮想メモリー領域は262144以上である必要があります。現在の値は、コマンド/sbin/sysctl vm.max_map_count
を使用して取得できます。目的の値まで増やすには、
/etc/sysctl.conf
ファイルに次を追加(または更新)します:
ファイルを閉じて保存します。更新された設定を有効にするには、vm.max_map_count=262144
/sbin/sysctl -p
コマンドをroot
ユーザーとして実行します。
プライマリ・ホストへのElasticsearchのインストール
システム設定を変更したら、Elasticsearchサーバーをクラスタ固有の構成でインストールする必要があります。インストールを続行する前に、クラスタのプライマリ・ホストを特定する必要があります。プライマリ・ホストは、Elasticsearchサーバーを最初にインストールする必要があるクラスタのホストの1つにすぎません。Elasticsearchサーバーをプライマリ・ホストにインストールする手順は、次のとおりです:
システム設定を変更したら、次に説明するように、Elasticsearchサーバーを特定の構成でインストールする必要があります:
ORACLE_HOME/wcportal/es/installES.properties
ファイルを編集し、必要な値を指定します。クラスタ設定では、次のプロパティ値を指定し、クラスタのノードごとに値を同じにする必要があります:表10-2 プロパティ値
プロパティ 値 ELASTIC_SEARCH_CLUSTER_NAME
<クラスタを識別する一意の値> ELASTIC_SEARCH_CLUSTER_HOST_LIST
["host1.example.com", "host2.example.com", "host3.example.com"] ELASTIC_SEARCH_CLUSTER_NODE_LIST
["node-1", "node-2", "node-3"] ELASTIC_SEARCH_CERTIFICATE_NAME
<証明書の名前> ELASTIC_SEARCH_PRIMARY_HOST
<プライマリ・ホストの完全修飾名> ここで、
host[n].example.com
は完全修飾ホスト名、node[n]
はhost[n].example.com
に対応するELASTIC_SEARCH_NODE_NAME
の値です。- 次のコマンドを入力してElasticsearchおよびプラグインをインストールします。
次に、Linuxに正常にインストールされた場合の出力例を示します:ORACLE_HOME/oracle_common/common/bin/wlst.sh ORACLE_HOME/wcportal/es/installES.py ORACLE_HOME/wcportal/es/installES.properties
... -> Installing file:////tmp/webcenter-search-es-content-crawl-plugin.zip -> Downloading file:////tmp/webcenter-search-es-content-crawl-plugin.zip [=================================================] 100% -> Installed orcl-wcp-es-content-crawl-plugin -> Please restart Elasticsearch to activate any plugins installed Generating node certificate for secured communication... Node certificate generated and password added to elasticsearch keystore successfully. Creating the user crawladmin in Elasticsearch server... ... The user crawladmin is created successfully. Executing /home/Oracle/product/esHome/startElasticsearch.sh Elasticsearch server installation is complete. Elasticsearch server home is at: /home/Oracle/product/esHome
- ElasticsearchがWindowsにインストールされている場合は、次のコマンドを実行してElasticsearchサーバーを保護します:
ORACLE_HOME/wcportal/es/secureESNode.cmd ORACLE_HOME/wcportal/es/installES.properties
- 正常にインストールされると、Elasticsearchサーバーが稼働します。Elasticsearchサーバーが正しく構成されていることを確認します。
プライマリ以外のホストへのElasticsearchのインストール
クラスタのプライマリ・ホストへのインストールが成功すると、Elasticsearchサーバーをクラスタの他のホスト(プライマリ以外のホスト)にインストールできます。Elasticsearchサーバーをプライマリ以外のホストにインストールする手順は、次のとおりです:
ORACLE_HOME/wcportal/es/installES.properties
ファイルを編集し、必要な値を指定します。クラスタ設定では、次のプロパティ値を指定し、クラスタのノードごとに値を同じにする必要があります:表10-3 プロパティ値
プロパティ 値 ELASTIC_SEARCH_CLUSTER_NAME
<クラスタを識別する一意の値> ELASTIC_SEARCH_CLUSTER_HOST_LIST
["host1.example.com", "host2.example.com", "host3.example.com"] ELASTIC_SEARCH_CLUSTER_NODE_LIST
["node-1", "node-2", "node-3"] ELASTIC_SEARCH_CERTIFICATE_NAME
<証明書の名前> ELASTIC_SEARCH_PRIMARY_HOST
<プライマリ・ホストの完全修飾名> - 次のコマンドを入力してElasticsearchおよびプラグインをインストールします。
正常にインストールされると、Elasticsearchサーバーは起動しません。次に、正常にインストールされた場合の出力例を示します。ORACLE_HOME/oracle_common/common/bin/wlst.sh ORACLE_HOME/wcportal/es/installES.py ORACLE_HOME/wcportal/es/installES.properties
... -> Installing file:////tmp/webcenter-search-es-content-crawl-plugin.zip -> Downloading file:////tmp/webcenter-search-es-content-crawl-plugin.zip [=================================================] 100% -> Installed orcl-wcp-es-content-crawl-plugin -> Please restart Elasticsearch to activate any plugins installed ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NOTE: Elasticsearch server installation is not complete. Please copy the required files from the primary host as mentioned in the documentation and start the server to complete the installation. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- ElasticsearchがWindowsにインストールされている場合は、次のコマンドを実行してElasticsearchサーバーを保護します:
ORACLE_HOME/wcportal/es/secureESNode.cmd ORACLE_HOME/wcportal/es/installES.properties
- ノード証明書(
ELASTIC_SEARCH_CERTIFICATE_NAME
プロパティに指定されたファイル)およびelasticsearch.keystore
ファイルを、プライマリ・ホストのES_HOME/esNode/config
フォルダからプライマリ以外のホストのES_HOME/esNode/config
フォルダにコピーします。 - 次のコマンドを実行して、Elasticsearchサーバーを起動します:
# applicable if installing on Linux ES_HOME/startElasticsearch.sh # applicable if installing on Windows ES_HOME/startElasticsearch.cmd
- Elasticsearchサーバーが稼働したら、Elasticsearchサーバーが正しく構成されていることを確認します。
クラスタ設定の検証
http://host1.example.com:9200
にアクセスします。
http://host1.example.com:9200/_cluster/health
にアクセスします。受信したレスポンスを確認すると、ノードの数は次のようになります:"number_of_nodes": 3
ノート:
前述のステップは、クラスタの一部である任意のホスト名を使用して検証できます。OHSを使用したロード・バランシングの設定
- ファイル
wcp-search.conf
をmoduleconf
ディレクトリに作成します(これは、ファイルhttpd.conf
があるディレクトリに置く必要があります)。ポート・ベースの仮想ホストの構成例は次のとおりです:<Location /> WLSRequest ON SetHandler weblogic-handler WebLogicCluster host1.example.com:9200,host2.example.com:9200,host3.example.com:9200 WLIOTimeoutSecs 30000 WLSocketTimeoutSecs 600 </Location>
構成されたポートを使用してOHSサーバーにアクセスすると、リクエストはWebLogicCluster構成に示されているホストのいずれかにリダイレクトされます。
- OHSを再起動します。
ロード・バランシング設定の検証
http://OHS-HOST:OHS-PORT/_cluster/health
にアクセスします。受信したレスポンスを確認すると、ノードの数は次のようになります:"number_of_nodes": 3
これは、OHSを使用したロード・バランシングが3つのノードで正常に設定されていることを示します。
HTTPSを使用したElasticsearchの保護
WebCenter Portalキーストアへの証明書の追加
Elasticsearchサーバーからの証明書のダウンロード
- Firefoxブラウザを開き、次のコマンドを使用してElasticsearchサーバーに接続します:
https://host_name:9200
ここで、
host_name
はElasticsearchサーバーの名前です。 - セキュリティ例外を受け入れて続行します。プロンプトが表示されたら、ログイン資格証明を指定します。
- 「URL」フィールドで「ロック」アイコンをクリックし、安全でない接続、「詳細情報」の順にナビゲートします。
- ポップアップ・ウィンドウで、「証明書の表示」ボタンをクリックします。
- リンクPEM (証明書)をクリックして、.PEM形式で証明書をダウンロードします。
WebCenter Portalキーストアへの証明書の追加
証明書がダウンロードされたら、WebCenter Portalキーストアにインポートする必要があります。
インポートするには:
- WebCenter Portalサーバーで次のコマンドを実行し、プロンプトが表示されたらキーストアのパスワードを入力します:
keytool -importcert -alias es_cert -file /filepath/sslcertificate/es_certificate.pem -keystore <JDK_path>/jre/lib/security/cacerts
- 管理対象サーバーを再起動します。
HTTPSで実行されているElasticsearchサーバーへの接続の検索
createSearchConnection(appName='webcenter', name='<conn_name>', url='https://<ES_host>:<ES_port>', indexAliasName='<index_alias>', appUser='<app_user>', appPassword='<app_user_password>')
検索接続がすでに存在する場合は、HTTPSを使用するように更新する必要があり、次のコマンドを使用して実行できます:
setSearchConnection(appName='webcenter', name='<existing_conn_name>', indexAliasName='<existing_index_alias>', appUser='<app_user>', appPassword='<app_user_password>', useSSL=1)
OpenSearchを使用したOCI検索サービスとの統合
OpenSearchを構成して、WebCenter Portalのオブジェクトの索引付けと検索を行います。
OpenSearchを使用したOCI検索サービスの理解
OpenSearchを使用したOracle Cloud Infrastructure (OCI)検索サービスは、Oracle管理サービスとして提供されるインサイト・エンジンです。停止時間なしで、サービスのパッチ適用、更新、アップグレード、バックアップおよびサイズ変更がOracleによって自動化されます。大量のデータをすばやく格納、検索および分析し、結果をほぼリアルタイムで確認できます。
OCI Search Serviceは、実績のあるOpenSearchテクノロジとOCIの柔軟性を兼ね備えています。
WebCenter Portalでは、OpenSearchを使用したOCI検索サービスを構成して次のリソースを検索できます。
-
ドキュメント(Wikiおよびブログを含む)
-
ポータル、ページ・メタデータ、ページ・コンテンツ(HTML、テキストおよびスタイル・テキスト・コンポーネントのコンテンツ)、リストおよび人的リソース
-
お知らせおよびディスカッション(以前のリリースからアップグレードされたポータルでのみ使用可能)。
ノート:
Oracle WebCenter Portalは、オンプレミスでホストして実行できますが、WebCenter Portalをクラウドで実行する際にOCI OpenSearchとの統合を最大限に活用するために、WebCenter PortalをOCIにホストすることを常にお薦めします。
OpenSearchを使用したOCI検索サービスを構成するための前提条件
次の要件を確認してください。
- OCIテナンシの詳細を取得します。
- Oracle Cloudコンソールで必要なサービス・ポリシーを作成し、ニーズに合せてカスタマイズします。たとえば、任意のユーザーを目的のグループに変更し、必要に応じてコンパートメントへのパスを指定します。
機能するポリシー:
Allow group <your_group> to manage opensearch-family in compartment opensearch Allow service opensearch to manage vcns in compartment opensearch Allow service opensearch to manage vnics in compartment opensearch Allow service opensearch to use subnets in compartment opensearch Allow service opensearch to use network-security-groups in compartment opensearch
- パブリック・サブネットとプライベート・サブネットを持つVCNを作成します。
- 簡略化したプロセス:
- Oracle Cloudコンソールのナビゲーション・メニューを開きます。
- 「ネットワーキング」をクリックし、「仮想クラウド・ネットワーク」をクリックします。
- 「VCNウィザードの起動」をクリックし、「インターネット接続性を持つVCNの作成」をクリックします。
- カスタム・プロセス:
- Oracle Cloudコンソールのナビゲーション・メニューを開きます。
- 「ネットワーキング」をクリックし、「仮想クラウド・ネットワーク」をクリックします。
- 「VCNの作成」をクリックし、必要な詳細を指定します。
- 簡略化したプロセス:
- VCNのパブリック・サブネットにVMインスタンスを作成します。
- Oracle Cloudコンソールのナビゲーション・メニューを開きます。
- 「コンピュート」,をクリックし、「インスタンス」をクリックします。
- 「インスタンスの作成」をクリックします。
- 「名前」を入力し、コンパートメントを選択します。
- 「イメージとシェイプ」領域で、デフォルト値(Oracle Linux 7、VM.Standard.E4.Flex)を使用します。
- 「ネットワーキング」領域で、パブリック・サブネットを選択し、パブリックIPを割り当てます。
- 「SSHキーの追加」領域で、既存のSSHキーを使用するか、新しいSSHキーを生成するかを決定します。新しいSSHキーを生成する場合は、忘れずにキーをダウンロードしてください。
WebCenter PortalでのOpenSearchを使用したOCI検索サービスの構成ロードマップ
表10-4 ロードマップ - WebCenter PortalでのOpenSearchを使用したOCI検索サービスの設定
担当者 | タスク |
---|---|
管理者 |
|
管理者 |
|
管理者 |
|
管理者 |
|
管理者 |
WebCenter Portalの検索の構成 |
管理者 | 検索クローラの構成 |
管理者 |
(オプション) WebCenter Portal管理での検索設定のカスタマイズ |
管理者 |
(オプション)検索のグローバル属性の変更 |
管理者 |
(オプション)検索のカスタム属性の構成 |
管理者 |
(オプション)カスタム・ファセットの作成 |
OCIでのOpenSearchインスタンスの作成
タスク1: OCI検索サービス・クラスタの作成
- Oracle Cloudコンソールのナビゲーション・メニューを開きます。「データベース」、OCI検索サービスの順にクリックし、「クラスタ」をクリックします。次に、「クラスタの作成」をクリックします。クラスタを作成するクラスタ名とコンパートメントを選択します。
図10-1 クラスタの作成
- 「次」をクリックします。
- クラスタのサイズ設定を選択し、「次」をクリックします。
図10-2 ノードの構成
- 作成したVCNを選択し、プライベート・サブネットを選択します。
図10-3 ネットワークの構成
- 「次」をクリックします。クラスタの作成後、OCI検索サービス・クラスタの詳細ページで、APIエンドポイントと、代替で使用できるIPアドレスをメモします。
図10-4 クラスタ情報
タスク2: VCNセキュリティ・リストでのセキュリティ・ルールの作成
VCNで、次のセキュリティ・ルールを使用してセキュリティ・リストを作成します。または、VCNのデフォルトのセキュリティ・リストに追加できます。
- VCNの詳細ページを開き、「セキュリティ・リスト」をクリックし、「セキュリティ・リスト」を選択して、「イングレス・ルールの追加」をクリックします。
ノート:
ポート9200 (OpenSearch)のルールと5601 (OpenSearch Dashboards)のルールを追加します。図10-5 ポート: 9200のTCPトラフィック
図10-6 ポート: 5601のTCPトラフィック
図10-7 セキュリティ・リスト
タスク3: OCI検索サービスへの接続のテスト - OpenSearchエンドポイント
次のオプションのいずれかを使用します。
- オプション1: 作成されたVMインスタンス内から
- SSH経由でインスタンスに接続します:
ssh -i ~/.ssh/id_rsa_opensearch.key opc@<your_VM_instance_public_IP>
- 次のいずれかのコマンドを実行します。
curl https://mycluster.opensearch.us.example.com:9200 # OpenSearch API endpoint example
curl https://<your_opensearch_private_IP>:9200 --insecure # OpenSearch private IP example
- SSH経由でインスタンスに接続します:
- オプション2: ポート転送を通じてローカル・マシンから
- ターミナルで次のポート転送SSHコマンドを実行します。接続がアクティブなままになるように、ターミナルを閉じないでください。
ssh -C -v -t -L 127.0.0.1:5601:<your_opensearch_dashboards_private_IP>:5601 -L 127.0.0.1:9200:<your_opensearch_private_IP>:9200 opc@<your_VM_instance_public_IP> -i <path_to_your_private_key>
- 新しいターミナル・ウィンドウを開いて次のコマンドを実行します。
ステップが正しく実行されると、使用されるオプションに関係なく、レスポンスが次のように表示されます。curl https://localhost:9200 --insecure
{ "name" : "opensearch-master-0", "cluster_name" : "opensearch", "cluster_uuid" : "M6gclrE3QLGEBlkdme8JkQ", "version" : { "distribution" : "opensearch", "number" : "1.2.4-SNAPSHOT", "build_type" : "tar", "build_hash" : "e505b10357c03ae8d26d675172402f2f2144ef0f", "build_date" : "2022-02-08T16:44:39.596468Z", "build_snapshot" : true, "lucene_version" : "8.10.1", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "The OpenSearch Project: https://opensearch.org/" }
- ターミナルで次のポート転送SSHコマンドを実行します。接続がアクティブなままになるように、ターミナルを閉じないでください。
タスク4: OpenSearchクラスタのプライベートIPのメモ
図10-8 クラスタ情報
![クラスタ情報 クラスタ情報](img/cluster-info.png)
WebCenter PortalキーストアへのOpenSearch SSL証明書のインポート
OpenSearch SSL証明書をインポートするには:
- パブリック・サブネットに作成されたパブリックVMにログインします(「OpenSearchを使用したOCI検索サービスを構成するための前提条件」のステップ2を参照)。
ssh -i ~/.ssh/id_rsa_opensearch.key opc@<your_VM_instance_public_IP>
- パブリックVMで次のコマンドを実行して、OCI OpenSearchのSSL証明書を取得します:
$ echo -n | openssl s_client -showcerts -connect Opensearch_Private_IP:9200 -servername opensearch.us-ashburn-1.oci.oracleiaas.com|sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/opensearch_cert_chain.crt
ここで、
servername
はOpenSearchクラスタが実行されているサーバーの名前です。servernameは、OCI IDを除くAPIエンドポイントの最後の部分です。(上のイメージを参照してください) - WebCenter PortalがOpenSearch証明書を信頼するためには、OpenSearch証明書をWebCenter Portalトラスト・ストアにインポートする必要があります。次のWLSTコマンドを使用して、WebCenter Portalトラスト・ストアに証明書をインポートします。
$ svc=getOpssService(name='KeyStoreService') $ svc.importKeyStoreCertificate(appStripe='system',name='trust',password='',alias='opensearch_cert_chain',type='TrustedCertificate',filepath='/tmp/opensearch_cert_chain.crt',keypassword='') $ syncKeyStores(appStripe='system',keystoreFormat='KSS') $ exit()
- ホスト名の検証を無効化するには:
- WebLogicコンソールにログインします。
- 「ロックして編集」ボタンをクリックします。
- 左側のナビゲーションから「サーバー」を選択し、「サーバー名」、「構成」、「SSL」、「拡張」の順に選択します。「ホスト名の検証」ドロップダウン・メニューから「なし」を選択します。「保存」をクリックして、変更をアクティブにします。
WebCenter Portalでのクロール管理ユーザーの作成
Elasticsearchを使用して検索するには、WebCenter Portalとバックエンドのアイデンティティ管理サーバーで、既存のユーザーをクロール管理に指定するか、クロール管理ユーザー(mycrawladmin
など)を作成します。クロール管理ユーザーは一度だけ作成する必要があります。
ノート:
ユーザーの作成方法の詳細は、ご使用のアイデンティティ管理システムのドキュメントを参照してください。
次の例では、Oracle Directory Services Managerを使用してmycrawladmin
ユーザーを作成します。
WebCenter Contentの検索の構成
このトピックでは、WebCenter Contentの検索を構成する方法を説明します。
ノート:
次のトピックは、WebCenter Contentが構成されている場合にのみ適用されます。
WebCenter Contentでのクロール・ユーザーの作成
この手順では、WebCenter Contentでクロール・ユーザーを新規作成する方法について説明します。
adminロールを持つユーザーでクロールする場合、クロール・ユーザーとして管理ユーザー・アカウントを使用します。非管理ユーザーでクロールする場合は、新しいクロール・ユーザーを作成します。
- WebCenter Contentに管理者としてログオンします。
sescrawlerrole
ロールを作成するには、次を実行します。- ユーザー
sescrawler
を作成し、そのユーザーにsescrawlerrole
ロールを割り当てるには、次を実行します。 - WebCenter Contentホーム・ページで、「管理」→「管理サーバー」を開きます。「一般構成」を選択し、「追加の構成変数」セクションで
sceCrawlerRole=sescrawlerrole
エントリを追加します。 - WebCenter Contentを再起動します。
SESCrawlerExport
コンポーネントの構成
開始する前に、 SESCrawlerExport
コンポーネントが有効化されていることを確認してください。有効化されていない場合は、コンポーネントを有効にし(「WebCenterConfigureコンポーネントの有効化」を参照)、WebCenter Contentサーバーを再起動します。
SESCrawlerExport
コンポーネントを構成するには:
WebCenter Portalの検索の構成
WebCenter Portalの検索を構成するには、WebCenter PortalとElasticsearchまたはOpenSearchを使用したOCI検索サービスとの間の接続を構成する必要があります。
WebCenter Portalでのユーザーの同期
ポータルのフル・クロールを実行する前に、LDAP同期WLSTコマンドを実行して、すべてのユーザーをポータルで使用できるようにしておくことをお薦めします。
検索クローラの構成
次のタイプのクローラを構成して、WebCenter Portalリソースを索引付けできます。
-
ポータル・クローラ: ポータル・クロール・ソースを使用して、リスト、ページ・メタデータ、ページ・コンテンツ(HTML、テキストおよびスタイル・テキストの各コンポーネントのコンテンツ)、ポータル、プロファイルなどの特定のオブジェクトをクロールします。
-
ドキュメント・クローラ: ドキュメント・クロール・ソースを使用して、Wikiやブログなどのドキュメントをクロールします。
-
ディスカッション・クローラ: ディスカッション・クロール・ソースを使用して、ディスカッション・フォーラムおよびお知らせをクロールします。このオプションは、ディスカッションが含まれている以前のリリースからアップグレードされたポータルに対してのみ使用できます。
次のトピックでは、WebCenter Portal管理の「スケジューラ」UIを使用して、様々なクロール・ソースを作成する方法を説明します。
ポータル・クロール・ソースの作成
WebCenter PortalでのAutoSuggestの有効化
WebCenter Portalでは、autosuggestを有効にすると、検索フィールドにキーワードを入力したときに提示されるキーワードのリストを表示できます。提示されるキーワードは、最近アクセスしたポータルに基づきます。
属性wcEnableAutoSuggest
は、autosuggestを構成するために使用します。デフォルトでは、属性はfalse
に設定されています。WebCenter Portalの「管理」→「属性」ページで属性の値を変更できます。値を変更したら、WebCenter Portalサーバーを再起動して、変更を有効にする必要があります。
検索のカスタム属性の構成
WebCenter Portalを使用して検索すると、特定の事前定義済属性のみが検索結果に表示されます。WebCenter Portalでは、検索結果に追加属性を表示することができます。これを行うには、ポータル管理の「検索設定」ページを使用し、そのページの「カスタム属性」セクションで、検索結果に表示されるカスタム検索属性と、それらの属性の表示順序を選択できます。「検索設定」ページのこのリストは、search-service-attributes.xml
によって導出されます。これには、各サービスでクロールするすべての属性のリストが含まれます。検索の索引のタイプは、このメタデータによって定義されます。search-service-attributes.xml
ファイルでは、新しいカスタム属性を追加することも、既存の属性を変更することも可能です。
次の手順では、ドキュメント・サービスを例として使用し、新しいカスタム検索属性を追加する方法について説明します:
カスタム・ファセットの作成
Oracle WebCenter Portalは、新しい検索を実行せずに検索結果を絞り込むファセット検索をサポートしています。ファセット検索を使用すると、検索結果が事前定義済カテゴリにグループ化されて、ユーザーが関連するカテゴリ(Author
、Portal
、Last Modified date
など)に基づいて検索結果を絞り込むことができるようになります。
Oracle WebCenter Portalでは、デフォルトで、特定の事前定義済ファセットが「検索設定」ページで提供されます。ファセットのリストは、search-service-custom-facets.xml
メタデータ・ファイルによって導出され、ファイルの各ファセットはsearch-service-attributes.xml
メタデータ・ファイルにマップされます。
次に、search-service-custom-facets.xml
メタデータ・ファイルの例を示します。
<custom-facet dataType="keyword" displayName="Author" displayNameKey="ES_FACET_AUTHOR" mappedSearchAttribute="author" name="Author" itemsToDisplay="20"/> <custom-facet dataType="keyword" displayName="Service ID" displayNameKey="ES_FACET_SERVICEID" mappedSearchAttribute="wc_serviceId" name="Service ID"/> <custom-facet dataType="keyword" displayName="Portal" displayNameKey="ES_FACET_SCOPE" mappedSearchAttribute="wc_scopeGuid" name="Scope GUID" itemsToDisplay="20"/> <custom-facet dataType="keyword" displayName="Tags" displayNameKey="ES_FACET_TAGS" mappedSearchAttribute="wc_tagWords" name="Tags"itemsToDisplay="20"/> <custom-facet dataType="keyword" displayName="Mimetype" displayNameKey="ES_FACET_MIMETYPE" mappedSearchAttribute="mimetype" name="Mimetype" itemsToDisplay="20"/> <custom-facet dataType="date" displayName="Last Modified Date" displayNameKey="ES_FACET_LASTMODIFIED" mappedSearchAttribute="lastmodified" name="Last Modified Date" />
各要素の意味は次のとおりです。
-
name
は、ファセットの名前です。 -
displayNameKey
は、カスタム・ファセット・メタデータの値です。 -
displayName
は、ファセットの表示名です。ノート:
ビジネスが複数の言語でサポートされている場合は、新しく追加されたカスタム・ファセットを任意の言語に翻訳できます。「検索ファセットの文字列の翻訳」を参照してください。 -
mappedSearchAttribute
は、検索属性を持つカスタム・ファセットのマップに使用されます。この値は、search-service-attributes.xml
メタデータ・ファイルのname
属性値と同じである必要があります。 -
dataType
は、データ型です。使用可能なデータ型は、keyword
、keyword_text
およびdate
です。この値は、search-service-attributes.xml
メタデータ・ファイルの型の値と同じである必要があります。ユーザーがカスタム・ファセットの値に対して大/小文字を区別する検索を実行する場合は、データ型keyword
を使用する必要があります。ユーザーがカスタム・ファセットの値に対して大/小文字を区別しない検索を実行する場合は、データ型keyword_text
を使用する必要があります。 itemsToDisplay
は、ファセットに表示される項目の最大数を定義するオプションの属性です。値が指定されていない場合は、WebCenter Portalの「管理」→「ツールとサービス」→「検索」オプションを使用してデフォルト値が構成されます。ノート:
この属性は、dataTypekeyword
を使用している場合にのみサポートされます。
ビジネス・ニーズに基づいて、Oracle WebCenter Portalで使用可能な任意のサービスのsearch-service-custom-facets.xml
メタデータ・ファイルのファセットのリストを追加または変更できます。たとえば、search-service-custom-facets.xml
メタデータ・ファイルにリストされたドキュメント、ユーザーおよびその他のサービスのカスタム・ファセットを追加できます。
この項では、ドキュメント・サービスにカスタム・ファセットを追加する方法を示します。ドキュメント・サービスのカスタム・ファセットを追加するには、最初にOracle WebCenter Contentでカスタム・メタデータ・フィールドを追加してから、コンテンツ索引を再構築する必要があります。
次のステップでは、ドキュメント・サービスにカスタム・ファセットを追加する方法について説明します。
Oracle WebCenter Contentへのカスタム・メタデータ・フィールドの追加
WebCenter Contentの索引の再構築
Oracle WebCenter Contentでは、新しいメタデータ・フィールドを作成した後、リポジトリ・マネージャ・ユーティリティを使用してコレクションを再構築し、検索索引を更新する必要があります。
SESCrawlerExportコンポーネントの構成
新しく作成したメタデータ・フィールドで、Oracle WebCenter Content SESCrawlerExport
コンポーネントを更新する必要があります。
SESCrawlerExport
を更新するには:
検索設定メタデータの構成
定義済のカスタム属性を、Oracle WebCenter Portalに追加する必要があります。新しいカスタム属性を「検索設定」ページに表示するには、search-service-attributes.xml
を追加または更新する必要があります。
検索カスタム・ファセット・メタデータの構成
WebCenter Portalの「検索設定」ページでは、検索結果とともに表示するファセットを選択できます。「検索設定」ページのこのリストは、search-service-custom-facets.xml
メタデータ・ファイルによって導出されます。これには、WebCenter Portalで使用されるファセットのリストが含まれます。search-service-custom-facets.xml
メタデータの各ファセットは、mappedSearchAttribute属性を使用してカスタム属性にマップされます。
ポータル内のドキュメントのメタデータの更新
CustomMetadataField
です。
検索結果でのファイル除外の構成
検索結果から特定のファイル・タイプを除外するように構成できます。ファイル・タイプを除外するには、メタデータ・ファイルsearch-service-exclude-file-types.xml
にファイル・タイプを指定する必要があります。
- メタデータ・サービス・ドキュメントのエクスポート
- フィルタするファイル・タイプの更新
- メタデータ・サービス・ドキュメントのインポート
- 検索結果でのファイル除外の確認
メタデータ・サービス・ドキュメントのエクスポート
MDS内のファイルの場所は、/oracle/webcenter/search/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/search-service-exclude-file-types.xml
です。
search-service-exclude-file-types.xml
をエクスポートするには、次のコマンドを入力します:exportMetadata(application='webcenter', server='WC_Portal', toLocation='/tmp/search', docs='/oracle/webcenter/search/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/search-service-exclude-file-types.xml')
メタデータ・サービス・ドキュメントsearch-service-exclude-file-types.xml
で、除外するファイル・タイプをカスタマイズできます。
フィルタするファイル・タイプの更新
このメタデータは、検索中に除外する必要があるファイル・タイプを指定する方法について説明します。
<?xml version='1.0' encoding='UTF-8'?>
<search-service-exclude-file-types xmlns="http://xmlns.oracle.com/webcenter/search/excludefiletypes">
<exclude-file-in-search>
<fileType extension=".xml" customType="site-studio-file" description="Exclude Site Studio data files that have extension .xml"/>
<fileType extension=".wav" description="Exclude all the file types with extension .wav"/>
<fileType extension=".jpeg" description="Exclude all the file types with extension .jpeg"/>
</exclude-file-in-search>
</search-service-exclude-file-types>
- 検索からフィルタするファイルの拡張子を、このメタデータ・ファイルに入力する必要があります。
customType
属性はオプションです。検索結果でSite Studioのデータ・ファイルを除外する場合は、拡張子".xml"のcustomType
をsite-studio-file
と指定します。description
属性はオプションです。除外されるファイルの詳細を説明します。
メタデータ・サービス・ドキュメントのインポート
メタデータ・サービス・ドキュメントsearch-service-exclude-file-types.xml
をインポートするには、次のコマンドを入力します:
importMetadata(application='webcenter', server='WC_Portal', fromLocation='/tmp/search', docs='/oracle/webcenter/search/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/search-service-exclude-file-types.xml')
検索結果でのファイル除外の確認
ファイル・タイプの除外を確認するには、「検索」アイコンをクリックしてファイル・タイプ(*.wavや*.jpegなど)を指定し、これらのファイル・タイプが検索結果から除外されていることを確認します。同様に、.xmlファイルを検索し、Site Studioで作成された.xmlファイルが除外されていることを確認します。
検索問合せパターンのカスタマイズ
Oracle WebCenter Portalでは、検索問合せパターンをカスタマイズできます。これを行うには、検索に使用する問合せ文字列の問合せのパターンを変更します。
- メタデータ・サービス・ドキュメントのエクスポート
- 問合せ文字列の問合せパターンの変更
- メタデータ・サービス・ドキュメントのインポート
メタデータ・サービス・ドキュメントのエクスポート
メタデータ・サービス・ドキュメントsearch-service-custom-config.xml
をエクスポートするには、次のコマンドを入力します:
exportMetadata(application='webcenter', server='WC_Portal', toLocation='/tmp/search', docs='/oracle/webcenter/search/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/search-service-custom-config.xml')
メタデータ・サービス・ドキュメントsearch-service-custom-config.xml
では、問合せパターンをカスタマイズし、検索語にワイルドカードを追加することを有効または無効にできます。
問合せ文字列の問合せパターンの変更
問合せ文字列の問合せパターンは、query_string
というプロパティの値として含まれます。次に示すスニペットは、query_string
プロパティのデフォルト値です。%s
は、WebCenter Portalの検索フィールドを介した検索語入力で置き換えられるトークンを示します。%s
は、query_string
値に何回でも指定でき、このトークンが出現するたびに検索語に置き換えられます。詳細は、https://www.elastic.co/guide/en/elasticsearch/reference/6.8/query-dsl-query-string-query.htmlを参照してください。
<!-- The query_string query to be executed in Elasticsearch. The value should be in JSON format. -->
<property name="query_string"><![CDATA[
"query_string": {
"query": "(%s)"
}]]>
</property>
ワイルドカードの処理
*
)を検索語に追加するかどうかは、プロパティappend_wildcard
によって決まります。trueの場合、検索語に*
が追加されます。
ノート:
append_wildcard
をtrueに設定すると、すべての結果が同じ関連性スコアになります。適切な関連性スコアを設定するには、query_string
パターンでrewrite: scoring_boolean
を使用する必要があります<property name="append_wildcard">false</property>
Example:
<property name="query_string"><![CDATA[
"query_string": {
"query": "(%s)",
"rewrite": "scoring_boolean"
}]]>
</property>
問合せ文字列の問合せパターンのサンプル
次に、問合せ文字列の問合せパターンの例をいくつか示します:
- すべてのフィールドを検索し、
title
フィールドの一致を2ずつ増やします。<property name="query_string"><![CDATA[ "query_string": { "query": "(title:%s^2 OR %s)" }]]> </property>
title
およびcontent
フィールドのみを検索します。<property name="query_string"><![CDATA[ "query_string": { "fields": ["title", "content"], "query": "(%s)" }]]> </property>
- すべてのフィールドの正確なフレーズを検索します。
<property name="query_string"><![CDATA[ "query_string": { "query": "(\"%s\")" }]]> </property>
問合せ文字列の問合せの例
次に示す例は、前述の問合せ文字列の問合せパターンのサンプルに関するものです:
- 検索語が
school
で、append_wildcard
値がfalseの場合、%s
はschool
に置き換えられ、query_string
値は次のようになります:"query_string": { "query": "(title:school^2 OR school)" } "query_string": { "fields": ["title", "content"], "query": "(school)" } "query_string": { "query": "(\"school\")" }
ノート:
append_wildcard
プロパティ値がtrue
の場合、前述の例では%s
がschool*
に置き換えられます。 - 検索語が
school children
で、append_wildcard
値がfalse
の場合、%s
はschool children
に置き換えられ、query_string
値は次のようになります:"query_string": { "query": "(title:school children^2 OR school children)" } "query_string": { "fields": ["title", "content"], "query": "(school children)" } "query_string": { "query": "(\"school children\")" }
ノート:
append_wildcard
プロパティ値がtrue
の場合、前述の例では%s
がschool children*
に置き換えられます。
メタデータ・サービス・ドキュメントのインポート
メタデータ・サービス・ドキュメントsearch-service-custom-config.xml
をインポートするには、次のコマンドを入力します:
importMetadata(application='webcenter', server='WC_Portal', fromLocation='/tmp/search', docs='/oracle/webcenter/search/scopedMD/s8bba98ff_4cbb_40b8_beee_296c916a23ed/search-service-custom-config.xml')
クロールのスケジューリング
増分検索クロールをスケジュールすることや、フル・クロール、高速クロールまたは再索引付けクロールを手動で開始することができます。この項では、クロールをスケジュールする方法と、クロールを開始、有効化または無効化する方法を説明します。
手動によるフル・クロールの開始
フル・クロールを手動で開始すれば、WebCenter Portal内のすべてのアイテムをクロールできます。フル・クロールには時間がかかるため、ピーク時間外に開始してください。フル・クロールは手動で開始する必要があり、自動実行されるようにスケジュールできません。
フル・クロールを開始するには:
手動による高速クロールの開始
高速クロールを手動で開始すると、変更されたアイテムのみをクロールできます。変更されたすべてのアイテムのメタデータ・フィールドのみをクロールします。この操作では、変更されたドキュメントのコンテンツはクロールされません。このクロールは、ドキュメント・クロール・ソースにのみ適用できます。高速クロールは手動で実行する必要があり、自動で実行されるようにスケジュールすることはできません。
高速クロールを開始するには:手動による再索引付けクロールの開始
search-service-attributes.xml
ファイルで1つ以上のカスタム検索属性のタイプが変更されると、手動で再索引付けクロールを開始できます。再索引付けクロールで、ある索引から別の索引にコピーされるのは、クロールされたアイテムのみです。再索引付けクロールは手動で実行する必要があり、自動で実行されるようにスケジュールすることはできません。たとえば、属性 wc_description
で、型がtext
と定義されているとします。ここで、型がkeyword
に変更されます。このシナリオでは、(前述のように)フル・クロールではなく、再索引付けクロールを開始できます。
WebCenter Portal管理での検索設定のカスタマイズ
WebCenter Portal管理の「検索設定」ページで、「結果タイプとフィルタリング」、「検索範囲」、「ファセット」および「カスタム属性」をカスタマイズできます。ポータル・マネージャは、管理するポータルの検索範囲のみをリセットできます。
Elasticsearchの検索設定をカスタマイズするには:
Elasticsearchサーバーでのドキュメント・コンテンツのクロール・プラグインのデフォルト接続設定の変更
Elasticsearchをインストールしたら、構成ファイルを使用して、ドキュメント・コンテンツのクロール・プラグインのデフォルト接続設定を変更できます。
構成ファイル内の次の属性を指定できます。
-
es.wcc.connection.timeout: 接続タイムアウトまでの間隔(秒単位)。これは、ElasticsearchサーバーでWebCenter Contentサーバーへの接続が確立されるまで待機する時間です。デフォルト値は30秒です。
-
es.wcc.read.timeout: 読取りタイムアウトまでの間隔(秒単位)。ElasticsearchサーバーがWebCenter Contentサーバーに接続されると、この属性によってWebCenter Contentサーバーが特定のリクエストに応答するまでの許容時間が指定されます。デフォルト値は30秒です。
-
es.wcc.max.connection.attempts: WebCenter Contentサーバーにアクセスするための接続試行の最大数。デフォルト値は3です。
検索のグローバル属性の変更
ノート:
次に説明する属性はElastisearchのものです。ただし、これらはOpenSearchを使用したOCI検索サービスが構成されている場合にも適用されます。wcESConnectionTimeoutPeriod
属性とwcESReadTimeoutPeriod
属性は、WebCenter PortalとElasticsearch間の相互作用を構成する場合に使用します。wcESDocumentsCrawlerThreads
属性は、ドキュメントのクロール処理に必要なスレッド数を構成する場合に使用します。
属性は次のとおりです。
-
wcESConnectionTimeoutPeriod: 接続タイムアウトまでの間隔(秒単位)。これは、WebCenter PortalでElasticsearchサーバーへの接続が確立されるまで待機する時間です。デフォルト値は30秒です。
-
wcESReadTimeoutPeriod: 読取りタイムアウトまでの間隔(秒単位)。WebCenter PortalがElasticsearchサーバーに接続されると、これによってElasticsearchサーバーが特定のリクエストに応答するまでの許容時間が指定されます。デフォルト値は30秒です。
-
wcESDocumentsCrawlerThreads: ドキュメントをクロールする検索のタスクはスレッドで処理されます。これは、固定数のスレッドを持つスレッド・プールを作成し、各スレッドでドキュメントのクロールを処理することによって実行されます。
wcESDocumentsCrawlerThreads
属性を使用すると、スレッド・プールの作成で使用するスレッド数を指定できます。デフォルト値は10です。クロール・タスク用に使用できるスレッドがないと、そのタスクはキューに入り、他のタスクが完了するまで待機します。
WebCenter Portal管理の「属性」ページでは、属性のデフォルト値を変更できます。値を変更したら、WebCenter Portalサーバーを再起動して、変更を有効にする必要があります。