検索概要
検索機能はLiferayの基本的な構成要素です。 Elasticsearchは、テストおよび開発目的でLiferayにバンドルされています。本番環境では、Elasticsearchをリモートサーバー上で実行する必要があります。 Elasticsearch 入門 では、リモート サーバーのセットアップについて説明します。ただし、同梱されているElasticsearchエンジンを使用すれば、検索機能をすぐに試すことができます。
ここでは、検索機能を紹介します。
- 全文検索
- すべてのコンテンツタイプ(ブログ、ドキュメント、ウェブコンテンツなど)のインデックス作成
- 高度に設定可能な検索ページ
- すべてのページのヘッダーに埋め込まれた検索バー
- 追加、更新、削除されたコンテンツのインデックスの自動同期
- 役割と権限による検索結果のフィルタリング
- 検索候補
- 検索結果の設定(例:フィルタリングとソート)
- ファセット検索
- 高度な検索構文(AND/OR/NOT、ワイルドカードなど)を有効または無効にします。
検索ページとウィジェット
デフォルトの検索ページ(localhost:8080/search)には、実用的な検索ウィジェットのセットがあります。このページはカスタマイズ可能で、グローバル検索ページのテンプレート(こちらもカスタマイズ可能)をベースにしています。

ページに検索ウィジェットを追加するには、そのページの「追加」ボタンをクリックし、「ウィジェット」を選択して、「検索」カテゴリを開きます:

詳細については、 検索ページの設定 または 検索ページとウィジェット を参照してください。
検索設定と管理
コントロールパネルでは、検索機能の設定、接続とフィールドのマッピングの表示、検索インデックスアクションの実行が可能です。
検索の設定は、コントロールパネルのシステムスコープで行うことができます。システム設定 → 検索 を選択します。検索設定画面が表示されます。

検索の管理画面では、検索の接続やフィールドのマッピングを調べたり、インデックスを実行したりすることができます。コントロール パネルで、 検索を選択してナビゲートします。

詳細については、 検索管理とチューニング を参照してください。
検索におけるカスタム開発
検索のカスタマイズには、通常、これらの検索フェーズのうち少なくとも1つが含まれます。
インデックス作成 は、1 つ以上のドキュメントを検索エンジンに送信することです。ドキュメントには、さまざまなタイプのフィールド(テキスト、キーワードなど)が含まれています。検索エンジンは各フィールドを処理し、フィールドを保存するか分析するかを決定します。
検索 は検索クエリを送信して結果を取得することです(別名ヒット)検索エンジンから。クエリとフィルタは検索リクエストの一部にすることができ、どちらも検索対象のフィールドと照合する値を指定します。サーチエンジンは、ネストされたクエリとフィルタ内の各フィールドを繰り返し実行し、オプションとして、クエリを実行する前に特別な分析を行います(検索時間分析)。検索時間分析は、マッピング定義を介してフィールドごとに構成できます。
検索機能は、サービス・プロバイダー・インターフェースとAPIを使って、それぞれ拡張したり呼び出したりすることができます。
-
サービスプロバイダインターフェース(SPI)は実装されることを前提としています。ソースコードでは、これらは
-spiで終わるモジュールにあります (たとえば、portal-search-spiモジュール)。 -
APIには、独自のコードで呼び出すことができるメソッドが含まれています。ソースコードでは、これらは
-apiで終わるモジュールにあります (たとえば、portal-search-apiモジュール)。
詳細については、 開発者ガイド を参照してください。
次は?
コンテンツを検索 して検索機能を探索してください。本番環境の検索を設定する準備ができたら、 Elasticsearch 入門 を参照してください。