Documentation

結果の検索

検索結果は、ナビゲート、ソート、およびフィルタリングが簡単でなければなりません。 デフォルトの検索機能と多くの設定オプションを理解することで、ユーザーに最適な検索体験を提供することができます。

複数の要因が検索結果に影響します:

  • アセットのインデックス付け方

  • 使用した検索ウィジェット

  • 結果が後処理されるかどうか

検索の目的:サイトでコンテンツを検索しているユーザーに完璧な結果を返します。

コンテンツタイプの開発者(Liferay DXPでは_アセット_ )は、アセットの情報がどのようにインデックス付けされるか、およびその情報がどのように検索され、検索結果に返されるかについて、多くをコントロールします。 さらにコントロールするために、インデクサーポストプロセッサは、アセットのインデックス作成動作と、アセットを検索するための検索クエリの構築方法を変更できます。

ただし、検索を構成する場合に行うほとんどすべてのことは、検索結果、特に同義語セットおよび結果ランキングに影響を与えることに注意してください。

以下の概念は、設定の変更を開始する前に理解することが不可欠です。

ファセットを使用した結果のフィルタリング

結果は、ファセットを使用してフィルタリングされます。 ほとんどのユーザーは、特に商取引活動中に、他のアプリケーションで同様のフィルタリング機能に遭遇しています。 ユーザーが検索用語を入力すると、結果のリストが表示され、検索ファセットを選択すると結果が絞り込まれます。 ファセットは、共通の特性を持つ結果のバケットと考えることができます。

タイプファセットは、すぐに提供されるファセットの1つです。

ファセットは構成可能です。 詳しくは、ファセットの設定についてをご覧ください。

権限と検索結果

アセットを表示するための 権限 を持たないユーザーの検索結果が表示されません。 サイト管理者のロールを持つログインしたユーザーは、匿名のゲストよりも多くの検索結果を表示する可能性があります。

権限チェックには2つのラウンドがあります。

  • 事前フィルタリング は、検索エンジンのインデックスで発生します。 データベースの権限情報をチェックするよりも高速ですが、検索インデックスに古い権限情報が含まれる場合があります。

  • ポストフィルタリング は、検索エンジンのインデックスに正しい最新の権限情報があることを確認するために、表示する前に結果に対して行われます。

事前フィルタリング

事前フィルタリングは、検索クエリにフィルター句が追加されるため、現在のユーザーが表示できる結果が検索に含まれます。

クエリに追加される検索句の数を制御することにより、[コントロールパネル]→[構成]→[システム設定]→[検索]→[権限チェッカー]で事前フィルタリングを構成できます。

権限期間制限: このレベルの権限チェックが中止される前に、検索クエリに追加される権限検索句の数を制限します。 権限チェックは、以下で説明する最終的な権限フィルタリングのみに依存します。

権限の条件を制限する唯一の理由はパフォーマンスです。 多くのサイトおよび組織への管理アクセス権を持つユーザーは、クエリに追加された多くの権限条件を生成します。 クエリ内の用語が多すぎると、検索エンジンがタイムアウトする可能性があります。

ポストフィルタリング

ポストフィルタリングは、UIに結果を表示する前に行われます。 たとえば、ユーザーが liferayを検索すると、検索エンジンは関連するすべてのフォーラム投稿を返します。 検索結果がこのリストを反復処理するときに、各投稿の最後の権限チェックを1回実行して、ユーザーが投稿とそのカテゴリを表示できることを確認します。 ユーザーが投稿を表示する権限を持っていない場合、その投稿は検索結果のリストに表示されません。

ポストフィルタリングは、[コントロールパネル]→[構成]→[システム設定]→[検索]→[デフォルトの検索結果アクセス許可フィルター]で構成できます。 次の2つの設定が含まれます。

パーミッションフィルター済み検索結果精度のカウンターしきい値: 結果がカウントされる前に、パーミッションフィルターに検索結果の最大数を指定します。 しきい値を高くすると、カウントの精度は向上しますが、パフォーマンスは低下します。 現在表示されているページの結果は常にチェックされるため、検索結果の1ページの表示数よりも小さい値を指定すると、この動作が事実上無効になります。

検索クエリ結果最大数: 権限チェックリクエストごとに最大バッチサイズを設定します。 これはページネーションの影響を受けます。 1ページに100件の結果があり、検索結果の200ページにジャンプする場合、1ページから200ページまでのすべての結果をチェックして、権限があることを確認する必要があります。 権限チェックの結果は20,000です。 これを検索エンジンとの間で一度に行うと、パフォーマンスの問題が発生する可能性があります。 権限チェックリクエストごとの最大バッチサイズを設定します。

検索とステージング

ステージングの場合、コンテンツは、ライブサイトに公開される前に、プレビューおよびテスト環境に最初に配置されます。 インデックス付きコンテンツはマークされているため、検索APIはアイテムがライブかどうかを認識します。 サイトのライブバージョンでは、インデックス付きのライブコンテンツのみが検索可能です。

サイトのステージバージョンでは、すべてのコンテンツ(ライブまたはステージ)が検索可能です。

結果の要約

結果の要約は、元のアセットからの情報を凝縮し概要化したものです。 アセット開発者は、要約に含めるフィールドを選択します。 一般的な概要は、タイトルコンテンツの一部を含み、タイトルが先に表示されます。 アセットタイプは常に2行目に表示され、その後に検索語に一致するコンテンツのスニペットが続きます。 ドキュメントとメディアドキュメントなど、コンテンツ項目のないアセットは、代わりに説明を表示します。

注釈

ユーザーを検索する検索結果でアセットをクリックすると、Asset Publisher で表示されます(検索結果ウィジェットで View in Context オプションが選択されていない場合)。 ただし、ユーザーは異なります。 これらは、アセットパブリッシャーアプリケーションでは表示されない、不可視のアセットと考えてください。 ユーザーは他のインデックス資産と一緒に検索結果として表示されますが、ユーザーをクリックするとそのユーザーのプロフィールページが表示されます。 公開された個人ページが無効になっている場合、検索結果のリストからユーザーをクリックすると、白紙のページが表示されます。 ユーザーのフルネームとアセットタイプ(ユーザー)のみがユーザー結果の概要に表示されます。

ユーザーの概要には、ユーザーのフルネームのみが含まれます。

他のアセット(Webコンテンツとドキュメント & メディアフォルダー)を含むアセット、またはコンテンツを表示できない(動的データリスト・レコードとカレンダーの予定)アセットの場合、タイトル、アセットタイプ、および説明を結果の要約に表示する方が理にかなっています。

ドキュメントとメディアとWebコンテンツフォルダーには、概要にタイトルと説明が含まれています。

アセット開発者は集計が有効なフィールドを決定しますが、検索時に呼び出されるロジックは、表示する集計フィールドの部分を正確に決定します。 たとえば、コンテンツフィールドには多くのテキストを含めることができますが、要約には、キーワードを含むフィールドのテキストの関連スニペットのみが表示され、ハイライトされます。

ハイライト

概要に表示される検索用語はデフォルトでハイライト表示されています。 これが望ましくない場合は、[ポートレット設定]画面で無効にしてください。

一部のドキュメントの要約には、検索用語が要約に表示されるテキストと一致する場合、多くがハイライトされます。

ハイライトは、結果が返される理由を示す便利な視覚的な手掛かりですが、高スコアのヒットは、概要にハイライトを持たなくても、結果の上部に表示される可能性がありますので注意してください。 これは、すべてのインデックス付きフィールドが要約に表示されるわけではないためです。 Arthur C. Clarkeという名前のユーザーについて考えてみましょう。 彼は、acc@authors.orgという検索可能な電子メールアドレスを持っています。 ユーザーの結果の要約にはフルネームのみが含まれているため、メールアドレスでクラーク氏を検索するとユーザーが返されますが、ハイライト表示されている用語はありません。

検索語に一致する結果には、常にハイライトが表示されるとは限りません。

その他、検索結果にハイライトが表示されない場合があります。