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

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

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

検索の管理画面では、検索の接続やフィールドのマッピングを調べたり、インデックスを実行したりすることができます。 コントロールパネルの「設定」カテゴリにある 「検索」 を選択して、これらを表示します。

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