検索の基本事項

注意

AEM 6.4 の拡張サポートは終了し、このドキュメントは更新されなくなりました。 詳細は、 技術サポート期間. サポートされているバージョンを見つける ここ.

概要

検索機能は、AEM Communitiesの重要な機能です。 また、 AEM platform 検索 機能、AEM Communities UGC 検索 API ユーザー生成コンテンツ (UGC) を検索する目的で使用します。 UGC には、他のAEMコンテンツやユーザーデータとは別に入力および保存される固有のプロパティがあります。

Communities では、一般的に検索される 2 つの項目は次のとおりです。

  • コミュニティメンバーが投稿したコンテンツ

    • AEM Communities の UGC 検索 API を使用
  • ユーザーとユーザーグループ(ユーザーデータ)

    • AEM platform の検索機能を使用

このドキュメントのこの節は、UGC を作成または管理するカスタムコンポーネントを作成する開発者にとって興味深い内容です。

セキュリティノードとシャドウノード

カスタムコンポーネントの場合、 SocialResourceUtilities メソッド。 UGC を作成および検索するユーティリティメソッドは、必要な シャドウノード メンバーがリクエストに対する正しい権限を持っていることを確認します。

SRP ユーティリティで管理されないのは、モデレートに関連するプロパティです。

詳しくは、 SRP と UGC の基本事項 UGC および ACL シャドウノードへのアクセスに使用するユーティリティメソッドに関する情報。

UGC 検索 API

この UGC 共通ストア は、様々なストレージリソースプロバイダー (SRP) の 1 つによって提供され、それぞれが異なるネイティブクエリ言語を持つ場合があります。 したがって、選択した SRP に関係なく、カスタムコードでは UGC API パッケージ (com.adobe.cq.social.ugc.api) を呼び出し、選択した SRP に適したクエリ言語を呼び出します。

ASRP 検索

の場合 ASRPに設定した場合、UGC はAdobeクラウドに保存されます。 UGC は CRX には表示されませんが、 モデレート は、オーサー環境とパブリッシュ環境の両方から使用できます。 の使用 UGC 検索 API ASRP では、他の SRP と同じように機能します。

ASRP 検索を管理するためのツールは現在存在しません。

検索可能なカスタムプロパティを作成する場合は、 命名要件.

MSRP 検索

の場合 MSRPを使用する場合、UGC は Solr を使用して検索するように設定された MongoDB に保存されます。 UGC は CRX には表示されませんが、 モデレート は、オーサー環境とパブリッシュ環境の両方から使用できます。

MSRP と Solr に関して:

  • AEMプラットフォームに埋め込まれた Solr は、MSRP には使用されません
  • AEMプラットフォームでリモート Solr を使用している場合、MSRP と共有できますが、異なるコレクションを使用する必要があります
  • Solr は、標準検索または多言語検索 (MLS) 用に設定できます
  • 設定の詳細については、 Solr 設定 (MSRP 用)

カスタム検索機能では、 UGC 検索 API.

検索可能なカスタムプロパティを作成する場合は、 命名要件.

JSRP 検索

の場合 JSRPに設定した場合、UGC は Oak とは、入力されたAEMオーサーインスタンスまたはパブリッシュインスタンスのリポジトリーにのみ表示されます。

UGC は通常パブリッシュ環境に入力されるので、マルチパブリッシャーの実稼動システムでは、 クラスターを公開(パブリッシュファームではなく)入力したコンテンツをすべてのパブリッシャーから表示できるようにする。

JSRP の場合、パブリッシュ環境に入力された UGC は、オーサー環境では表示されません。 したがって、すべて モデレート タスクはパブリッシュ環境で実行されます。

カスタム検索機能では、 UGC 検索 API.

Oak インデックス作成

AEMプラットフォーム検索では Oak インデックスは自動的に作成されませんが、AEM 6.2 以降では、AEM Communitiesのパフォーマンスを向上させ、UGC 検索結果を表示する際のページネーションをサポートするために、Oak インデックスが追加されました。

カスタムプロパティが使用中で検索に時間がかかる場合は、カスタムプロパティのパフォーマンスを高めるために、追加のインデックスを作成する必要があります。 移植性を維持するには、 命名要件 検索可能なカスタムプロパティを作成する際。

既存のインデックスを変更したり、カスタムインデックスを作成するには、 Oak クエリとインデックス作成.

この Oak インデックスマネージャ は、ACS AEM Commons から入手できます。 これには次の機能があります。

  • 既存のインデックスの表示
  • インデックス再作成を開始する機能

で既存の Oak インデックスを表示するには、以下を実行します。 CRXDE Liteの場所は次のようになります。

  • /oak:index/socialLucene

chlimage_1-235

インデックス付き検索プロパティ

デフォルトの検索プロパティ

様々なコミュニティ機能で使用される検索可能なプロパティの一部を次に示します。

プロパティ データタイプ
isFlagged ブール型
isSpam ブール型
読み取り ブール型
影響 ブール型
attachments ブール型
好感度 Long
フラグ付き ブール型
追加済み 日付
modifiedDate 日付
ステート 文字列
userIdentifier 文字列
返信 Long
jcr:title 文字列
jcr:description 文字列
sling:resourceType 文字列
allowThreadedReply ブール型
isDraft ブール型
publishDate 日付
publishJobId 文字列
回答済み ブール型
chosensered ブール型
tag 文字列
cq:Tag 文字列
author_display_name 文字列
location_t 文字列
parentPath 文字列
parentTitle 文字列

カスタムプロパティの名前

カスタムプロパティを追加する場合、これらのプロパティを、 UGC 検索 APIの場合は、プロパティ名にサフィックスを追加する必要があります。

サフィックスは、スキーマを使用するクエリ言語用です。

  • プロパティが検索可能であることを識別します
  • データタイプを識別します

Solr は、スキーマを使用するクエリ言語の例です。

サフィックス データタイプ
_b ブール型
_dt Calendar
_d 倍精度浮動小数点
_tl Long
_秒 文字列
_t テキスト

メモ:

  • テキスト はトークン化された文字列です。 文字列 がではありません。 用途 テキスト fuzy(より似た)検索用。

  • 複数値型の場合、サフィックスに「s」を追加します。次に例を示します。

    • viewDate_dt:単一の日付プロパティ
    • viewDates_dts:日付プロパティのリスト

フィルター

次を含むコンポーネント: コメントシステム は、エンドポイントへのフィルターパラメーターの追加をサポートしています。

AND および OR 論理のフィルター構文は、次のように表現されます(URL エンコードの前に示します)。

  • OR を指定するには、1 つのフィルタパラメータをコンマ区切り値で使用します。

    • filter=name eq 'Jennifer',name eq 'Jen'
  • AND を指定するには、次のように複数のフィルターパラメーターを使用します。

    • filter = name eq 'Jackson'&filter=message eq 'testing'

デフォルトの実装 検索コンポーネント はこの構文を使用します。これは、 コミュニティコンポーネントガイド. 実験するには、 http://localhost:4503/content/community-components/en/search.html.

フィルター演算子は次のとおりです。

EQ が次の値と等しい
NE 等しくない
LT より小さい
LTE 次よりも小さいか等しい
GE より大きい
GTE 次よりも大きいか等しい
LIKE ファジーマッチ

URL は、コンポーネントが配置されているページではなく、コミュニティコンポーネント(リソース)を参照することが重要です。

  • 正しい構文:フォーラムコンポーネント
    • /content/community-components/en/forum/jcr:content/content/forum.social.json
  • 誤った構文:フォーラムページ
    • /content/community-components/en/forum.social.json

SRP ツール

以下を含むAdobe Marketing Cloud GitHub プロジェクトがあります。

AEM Communities SRP ツール

このリポジトリには、SRP でデータを管理するためのツールが含まれています。

現在、任意の SRP からすべての UGC を削除できるサーブレットが 1 つあります。

例えば、ASRP 内のすべての UGC を削除するには、次のようにします。

curl -X POST http://localhost:4502/services/social/srp/cleanup?path=/content/usergenerated/asi/cloud -uadmin:admin

トラブルシューティング

Solr クエリ

Solr クエリに関する問題のトラブルシューティングに役立つように、

com.adobe.cq.social.srp.impl.SocialSolrConnector

実際の Solr クエリは、URL エンコードされてデバッグログに表示されます。

solr に対するクエリ: sort=timestamp+desc&bl=en&pl=en&start=0&rows=10 &q=%2Btitle_t:(hello)+%2Bprovider_id:\/content/usergenerated/asi/mongo/content/+%2Bresource_type_s:&df=provider_id&trf=verbatim&fq={!cost%3D100}report_suite:mongo

の値 q パラメータはクエリです。 URL エンコーディングがデコードされたら、クエリを Solr 管理クエリツールに渡して、さらにデバッグできます。

このページ