7.3の検索の新機能
Elasticsearchの統合
Elasticsearch 7のサポート
Liferay CE 7.3 GA4+、Liferay DXP 7.3 GA1+
Liferay DXP 7.3では、Elasticsearch 7を標準でサポートしています。 最小限必要なバージョンは7.9です。 詳細なサポート情報については、 検索エンジン互換性マトリックス を参照してください。
Liferay CE/DXP 7.3ではElasticsearch 6.xはサポートされていません。
Elasticsearch 7コネクタはRESTクライアントに基づいています
利用可能:Liferay CE 7.3 GA4以降、Liferay DXP 7.3 GA1以降
DXP 7.3 にバンドルされている Elasticsearch 7 コネクタは、 Elastic の Java REST クライアント を使用して、HTTP 経由で Elasticsearch と通信します。 この通信プロトコルは、DXPとElasticsearch間のJavaシリアル化を必要としないため、Elasticsearch 7ノードをLiferay DXPとは異なるJVMで実行できるようになりました。
X-Pack Security機能が統合されました
利用可能:Liferay 7.3 CE GA4以降、Liferay DXP 7.3 GA1以降
Liferay Enterprise Search Security(以前のLiferay Connector to X-Pack Security)モジュールの機能は、Liferay Connector to Elasticsearch 7に含まれています。 CE/DXP 7.3 のすべてのお客様は、 Liferay Enterprise Search (LES) サブスクリプションなしで Elasticsearch クラスターに安全に接続できます。
アップグレード ガイドには、暗号化設定を Elasticsearch 7 コネクタに移行する方法に関する情報が記載されています。
複数のElasticsearch接続
利用可能:Liferay CE 7.3 GA4以降、Liferay DXP 7.3 GA1以降
複数のElasticsearchクラスターへの接続を設定します。 Liferay DXP 7.2では、Liferayが接続されているElasticsearchクラスター内の任意のインデックス(Liferay以外のインデックスも含む)に対してクエリを実行できました。 Lifera以外のElasticsearchクラスターのインデックスに対してクエリを実行できるようになりました。 これにより、低レベル検索オプションおよび検索結果ウィジェットと組み合わせて使用することで、Elasticsearchクラスターを使用しているサードパーティシステムからの結果を表示することができます。 この機能は主に、Liferay Enterprise Search (LES) クラスタ間レプリケーション 機能をサポートするために追加されました。
組み込みモードがサイドカーに置き換えられました
利用可能:Liferay CE 7.3 GA4以降、Liferay DXP 7.3 GA1以降
検索インフラストラクチャ & 管理
マルチテナントインデックス名
利用可能:Liferay 7.3 CE GA6以降、Liferay DXP 7.3 GA1以降、Liferay DXP 7.2 SP3以降/FP8以降
マルチテナントインストールでは、単一のElasticsearchクラスターが複数のLiferay CE/DXPデプロイメントのインデックスを保持します。 ネームスペースが適切なインデックスの必要性が最も重要です。 7.2(FP8/SP3より前)では、インデックスの命名に一貫性がなく、マルチテナントのインストールが不可能になることがありました。 最新の7.2パッチおよび7.3では、すべてのLiferay CE/DXPインデックス(特定のアプリケーションによって制御されるインデックスを含む)のプレフィックスは、システム設定のElasticsearch 7設定エントリーから構成されています。 サードパーティーアプリケーションのインデックスは、同じAPIを利用して、インストール全体でネームスペースが一貫したインデックスを確保できるようになりました。
[indexNamePrefix]-[companyId]-[appName]
例:
liferay-20096-search-tuning-rankings
DXP 7.2 SP2以前から7.3にアップグレードすると、新しいDXPインデックスが自動的に作成されます。完全なインデックスの再構築と正常なアップグレードの確認後、古いインデックスを削除できます。
検索管理の接続
利用可能:Liferay CE 7.3 GA1以降、Liferay DXP 7.3 GA1以降
コントロールパネルの検索エントリ([Configurations]セクションにあります)を使用して、Elasticsearch接続のステータスと正常性を表示します。 以下を参照してください。
- 接続されている各Elasticsearchクラスターの状態
- 各クラスター内のノード名とバージョン
- Elasticsearchクライアントのバージョン
これは、以前のバージョンの[アクションをインデックスする]ページの上部にある情報バーに置き換わるものです。
標準化されたインデックスドキュメントID
利用可能:Liferay CE 7.3 GA1以降、Liferay DXP 7.3 GA1以降
インデックスドキュメントのUID(または id)は、Liferay DXPエンティティのデータベース行と1対1のパリティを持つようになりました。
検索ウィジェット
ウィジェットテンプレートを使用して検索ウィジェットをカスタマイズする
利用可能:Liferay CE 7.3 GA4以降、Liferay DXP 7.3 GA1以降
検索ウィジェットは、Freemarker または Velocity テンプレートを使用して各ウィジェットの外観と操作性をカスタマイズするための ウィジェット テンプレート (以前はアプリケーション表示テンプレートと呼ばれていました) をサポートするようになりました。 たとえば、検索結果ウィジェットはカードレイアウトを表示するように設定でき、authorやmodified dateのようなアセットのプロパティを表示または非表示にすることができます。 サポートされている検索ウィジェットごとに、すぐに使えるデフォルトテンプレートがいくつか用意されています。
類似結果
購読者
利用可能バージョン: Liferay DXP 7.3 GA1+ にバンドルされており、 類似結果 Marketplace アプリ経由で Liferay DXP 7.2 SP2+ にインストール可能
類似結果ウィジェットには、ページのメインアセットに類似したアセットのコレクションが表示されます。 ウィジェットは URL を使用してメインアセットの表示を決定し、Elasticsearch の more like this query を活用して追加のアセットを検索します。 メインアセットは、表示ウィジェット(ブログウィジェットなど)またはアセットパブリッシャーを使用して表示できます。
類似結果の最初のバージョンは、ブログ、掲示板、ドキュメント、およびWikiをサポートしています。 拡張ポイントを実装することで、追加のアセット タイプ (ネイティブ アセットとカスタム アセットの両方) のサポートが可能になります。 ドキュメントの類似性を判断するために使用されるロジックは、Elasticsearch の More Like This クエリ パラメータごとに構成できます。
詳細については、 類似結果 を参照してください。
検索の調整
購読者
検索の調整:結果ランキング
利用可能:Liferay DXP 7.2 SP1以降、Liferay DXP 7.3 GA1以降
結果ランキングは、特定のクエリの結果の関連性をカスタム調整するためのグラフィカルUIです。 結果ランキングには、関連性を手動で調整するための3つの主要な機能があります。
- クエリの結果は、リストの一番上に固定して並べ替えることができます。 目的のドキュメントが元の結果リストにない場合は、手動で追加できます。 これにより、ユーザーは価値の高い結果をプロモートできます。
- 結果は結果リストから非表示にすることができます。 この機能を使用して、古くなった結果や無関係な結果を削除できます。
- エイリアスは、同じカスタムの固定された結果および非表示の結果を代替検索クエリに適用します。 たとえば、クエリ「デジタルエクスペリエンスプラットフォーム」の結果を固定および非表示にして結果ランキングを作成する場合、エイリアス「portal」および「dxp」を追加すると、同じ固定された結果と非表示の結果が適用されます。
検索の調整:同義語
利用可能:Liferay DXP 7.2 SP1以降、Liferay DXP 7.3 GA1以降
同義語は、同様の意味を持つクエリを関連付け、検索時に同義クエリに同等の重みを与えます。 たとえば、「mobile phone」、「cell phone」、「hand phone」というクエリは同等の意味を持ち、同義で使用できます。 これらの3つのクエリで同義語セットを定義すると、「mobile phone」と検索したユーザーには、「cell phone」または「hand phone」という単語を含むドキュメントが表示されます。 Elasticの 同義語のドキュメントを参照してください。
Liferay Enterprise Search(LES)
クラスター横断レプリケーション(LES)
利用可能バージョン: Liferay DXP 7.2 SP3+、Liferay DXP 7.3 GA1+ ( Liferay Enterprise Search クラスター間レプリケーション アプリケーション経由)。
クラスター横断レプリケーションアプリケーションは、ディザスタリカバリ(高可用性)と地理的近接パフォーマンスの最適化のために、リモートデータセンター全体でElasticsearchクラスターを複製します。 これは、アクティブ/パッシブ モデルを使用して分散クラスター間で検索インデックスを複製する Elasticsearch の クラスター間レプリケーション 機能を活用します。 すべてのDXPノードのすべての書き込み操作は単一のリーダーインデックスにルーティングされますが、各DXPクラスターノードは任意のフォロワーインデックスから読み取るように設定できます。
Learning to Rank(LES)
利用可能バージョン: Liferay DXP 7.2 SP2+、Liferay DXP 7.3 GA1+、 Liferay Enterprise Search Learning to Rank アプリケーション経由。
最適な結果を得るために検索を手動で調整することは困難です。 ある特定のクエリに対して検索アルゴリズムを最適化すると、他の数百のクエリの結果が意図せず悪くなる可能性があります。
Learning to Rank(LTR)は、機械学習(ML)モデルを適用して検索結果を改善することにより、この課題に取り組んでいます。 モデルのトレーニングでは以下を行います。
-
「特徴」を選択する(モデルをトレーニングする際に考慮する検索要素の用語—例:新しさ、地理的近接性、タグの一致)
-
手動(クエリの結果を評価する検索エキスパートなど)または半自動(クエリのユーザークリック率の測定など)で管理される判断リスト(「グラウンドトゥルース」とも呼ばれます)の提供。
判断リストは、モデルのトレーニングに情報を提供し、導くための信頼できる情報源です。 ユーザーが検索クエリを送信すると、LTRは検索エンジンから返された最初の × 件の結果(デフォルトでは最初の1,000件の結果)を受け取り、学習したモデルを使ってそれらの結果を再スコアリングして並べ替えた後、リストをユーザーに返します。
LESアプリケーションの名前が変更されました
Liferay CE/DXP 7.3リリースには明示的にリンクされていませんが、次のアプリは、機能をより適切に反映し、LESアプリとしてのアイデンティティを強調するために名前が変更されました。
| 機能 | 旧アプリ名 | 新アプリ名 |
|---|---|---|
| Elasticsearchクラスターのモニタリング | Liferay Connector to X-Pack Monitoring [Elastic Stack 6.x] (英語) | Liferay Enterprise Search Monitoring |
| Elasticsearchクラスターの保護 | Liferay Connector to X-Pack Security [Elastic Stack 6.x]を使用しています。 | Liferay Enterprise Search Security |
| 機械学習を使用した検索アルゴリズムの最適化 | Liferay Connector to Elasticsearch Learning to Rank | Liferay Enterprise Search Learning to Rank |
| リモートデータセンター間でのインデックスの複製 | NA(新アプリ) | Liferay Enterprise Searchクラスター横断レプリケーション |
開発
新しいインデックス設定コントリビューター拡張ポイント
利用可能:Liferay CE 7.3 GA6以降、Liferay DXP 7.3 GA1以降
Elasticsearch バージョンに依存しない IndexSettingsContributor が追加されました (ソースコードはこちら):
com.liferay.portal.search.spi.settings.IndexSettingsContributorcom.liferay.portal.search.spi.settings.IndexSettingsHelper.javacom.liferay.portal.search.spi.settings.TypeMappingsHelper.java
Sidecar Elasticsearch 7がバンドルされています
利用可能:Liferay CE 7.3 GA4以降、Liferay DXP 7.3 GA1以降
互換性のあるバージョンのElasticsearchがLiferay CE/DXP 7.3+ Tomcatバンドルにバンドルされ、 sidecar JVMで同時に起動されます。 このサイドカーのインストールは、開発モードと呼ばれ、以前の組み込みモードに置き換わるものです(どちらも本番環境のインストールではサポートされていません)。 サイドカーのシステム設定には、Elasticsearch 7設定に専用のプロパティがあります。 デフォルトでは、HTTPポート9201で実行されます。 詳細については、 サイドカーまたは埋め込み Elasticsearch の使用 を参照してください。
初回起動時にサイドカーElasticsearchサーバーが自動ダウンロードされます。 デプロイメントでサイドカー サーバーをダウンロードできない場合は、 Elasticsearch をリモート サーバーとしてインストールします。
DXP 7.3へのアップグレード
以前の DXP バージョンから 7.3 にアップグレードするには、 REST クライアントへの切り替えのため、いくつかの特別な手順が必要です。 アップグレードの過程を支援する重要な情報については、 アップグレード ドキュメント を参照してください。