問題
- 検索結果から特定のページを非表示にすることは可能ですか?
- 例えば、AページとBページのサイトがありますが、どちらのページも公開されたままにしておく必要がありますが、ユーザーが検索をかけたときにBページだけが結果に表示されるようにしたいと考えています。
環境
- DXP 7.2
解決
- カスタムフィルターウィジェットの機能を活用できます。
- 上記の例を達成するための可能なステップの1つのセットは次のようになります:
- 結果が表示される検索ページに「検索>カスタムフィルタ」ポートレットを追加します
-
⠇を選択 > カスタムフィルターの設定から、以下の値を設定します
- フィルタフィールド:
assetTagNames
- フィルタ値:
tagforhiddenpages
- フィルタクエリタイプ:
Match
- 発生:
must_not
- [オプション]: 管理者以外のユーザーがフィルターを非表示にし、編集できないようにするには、[非表示]チェックボックスと[不変]チェックボックスを選択することもできます
- フィルタフィールド:
- ページAの SEOカテゴリ化タグ を編集して、
tagforhiddenpages
を含めるようにします - すべての変更が保存されると、"Page "の検索結果には、"Page B "の結果が含まれますが、"Page A "の結果は除外されます
追加情報
- カスタムフィルターウィジェットは、上記のSEOタグの例以外のフィールドや値を探すように設定することができます。LiferayUIを使用して特定のElasticsearchJSONドキュメントに関連付けられたフィールド/値を表示する方法については、こちらの記事をご参照ください。
- 詳細は以下の記事をご参照ください