検索の基本事項

概要

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

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

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

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

    • AEMプラットフォーム検索機能を使用します。

ドキュメントのこの節は、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

social-lucene

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

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

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

プロパティ データタイプ
isFlagged ブール型
isSpam ブール型
読み取り ブール型
influence ブール型
attachments ブール型
sentiment Long
flagged ブール型
added 日付
modifiedDate 日付
ステート String
userIdentifier 文字列
replies Long
jcr:title 文字列
jcr:description 文字列
sling:resourceType 文字列
allowThreadedReply ブール型
isDraft ブール型
publishDate 日付
publishJobId 文字列
answered ブール型
chosenanswered ブール型
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'

コミュニティコンポーネントガイドで「検索結果」ページを開く際に使用される URL に見られるように、検索コンポーネントのデフォルト実装ではこの構文が使用されます。実験するには、 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 管理クエリツールに渡して、さらにデバッグできます。

このページ