検索機能は AEM Communities の基本機能です。また、 AEM platform 検索 機能、AEM Communities UGC 検索 API ユーザー生成コンテンツ (UGC) を検索する目的で使用します。 UGC には、他のAEMコンテンツやユーザーデータとは別に入力および保存される固有のプロパティがあります。
Communities では、一般的に検索される 2 つの項目は次のとおりです。
コミュニティメンバーが投稿したコンテンツ
ユーザーとユーザーグループ(ユーザーデータ)
ドキュメントのこの節は、UGC を作成または管理するためのカスタムコンポーネントの作成を担当する開発者を対象としています。
カスタムコンポーネントの場合、 SocialResourceUtilities メソッド。 UGC を作成および検索するユーティリティメソッドは、必要な シャドウノード メンバーがリクエストに対する正しい権限を持っていることを確認します。
モデレート関連のプロパティについては、SRP ユーティリティでは管理しません。
詳しくは、 SRP と UGC の基本事項 UGC および ACL シャドウノードへのアクセスに使用するユーティリティメソッドに関する情報。
UGC 共通ストアは、それぞれ異なるネイティブクエリー言語を使用する様々なストレージリソースプロバイダー(SRP)の 1 社から提供されます。したがって、選択した SRP に関係なく、カスタムコードでは UGC API パッケージ (com.adobe.cq.social.ugc.api) を呼び出し、選択した SRP に適したクエリ言語を呼び出します。
の場合 ASRPに設定した場合、UGC はAdobeクラウドに保存されます。 UGC は CRX には表示されませんが、 モデレート は、オーサー環境とパブリッシュ環境の両方から使用できます。 の使用 UGC 検索 API ASRP では、他の SRP と同じように機能します。
ASRP 検索を管理するためのツールは現在存在しません。
検索可能なカスタムプロパティを作成する場合は、 命名要件.
の場合 MSRPを使用する場合、UGC は Solr を使用して検索するように設定された MongoDB に保存されます。 UGC は CRX には表示されませんが、 モデレート は、オーサー環境とパブリッシュ環境の両方から使用できます。
MSRP および Solr については、次の点に留意してください。
カスタム検索機能では、 UGC 検索 API.
検索可能なカスタムプロパティを作成する場合は、 命名要件.
の場合 JSRPに設定した場合、UGC は Oak とは、入力されたAEMオーサーインスタンスまたはパブリッシュインスタンスのリポジトリーにのみ表示されます。
UGC は一般にパブリッシュ環境で入力されるので、複数の公開者が存在する実稼動システムでは、パブリッシュファームではなく、パブリッシュクラスターの設定を通して、入力されたコンテンツがすべての公開者から表示できるようにする必要があります。
JSRP の場合、パブリッシュ環境で入力された UGC はオーサー環境には表示されません。したがって、すべて モデレート タスクはパブリッシュ環境で実行されます。
カスタム検索機能では、 UGC 検索 API.
AEMプラットフォーム検索では Oak インデックスは自動的に作成されませんが、AEM 6.2 以降では、AEM Communitiesのパフォーマンスを向上させ、UGC 検索結果を表示する際のページネーションをサポートするために、Oak インデックスが追加されました。
カスタムプロパティが使用中で検索に時間がかかる場合は、カスタムプロパティのパフォーマンスを高めるために、追加のインデックスを作成する必要があります。 移植性を維持するには、 命名要件 検索可能なカスタムプロパティを作成する際。
既存のインデックスの変更やカスタムインデックスの作成については、 Oak クエリとインデックス作成.
この Oak インデックスマネージャ は、ACS AEM Commons から入手できます。 これには次の機能があります。
で既存の Oak インデックスを表示するには、以下を実行します。 CRXDE Liteの場所は次のようになります。
/oak:index/socialLucene
様々なコミュニティ機能に使用される検索可能なプロパティの一部を次に示します。
プロパティ | データタイプ |
---|---|
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
次のものをまとめた Adobe Marketing Cloud GitHub プロジェクトが公開されています。
このリポジトリには、SRP のデータを管理するためのツールが格納されています。
現在、任意の SRP からすべての UGC を削除できるサーブレットが 1 つ用意されています。
次に、ASRP からすべての UGC を削除する場合の例を示します。
curl -X POST http://localhost:4502/services/social/srp/cleanup?path=/content/usergenerated/asi/cloud -uadmin:admin
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 管理クエリツールに渡して、さらにデバッグできます。