Show Menu
トピック×

検索の基本事項

概要

検索機能は AEM Communities の基本機能です。In addition to the AEM platform search capabilities, AEM Communities provides the UGC search API for the purpose of searching user generated content (UGC). UGCには、他のAEMコンテンツやユーザーデータとは別に入力および保存されるので、固有のプロパティがあります。
コミュニティの場合は、一般に次の2つが検索されます。
  • コミュニティメンバーが投稿したコンテンツ
    • AEM CommunitiesのUGC検索APIを使用します。
  • ユーザーとユーザーグループ(ユーザーデータ)
    • AEMプラットフォームの検索機能を使用します。
ドキュメントのこの節は、UGC を作成または管理するためのカスタムコンポーネントの作成を担当する開発者を対象としています。

セキュリティおよびシャドウノード

For a custom component, it is necessary to use the SocialResourceUtilities methods. The utility methods that create and search for UGC will establish the required shadow nodes and ensure the member has the correct permissions for the request.
モデレート関連のプロパティについては、SRP ユーティリティでは管理しません。
See SRP and UGC Essentials for information regarding utility methods used to access UGC and ACL shadow nodes.

UGC Search API

UGC 共通ストア は、それぞれ異なるネイティブクエリー言語を使用する様々なストレージリソースプロバイダー(SRP)の 1 社から提供されます。Therefore, regardless of the SRP chosen, custom code should use methods from the UGC API package ( com.adobe.cq.social.ugc.api ) which will invoke the query language appropriate for the chosen SRP.

ASRP 検索

For ASRP , UGC is stored in the Adobe cloud. While UGC is not visible in CRX, moderation is available from both the author and publish environments. The use of the UGC search API works for ASRP the same as for other SRPs.
ASRP 検索を管理するためのツールは現在存在しません。
When creating custom properties that are searchable, it is necessary to adhere to the naming requirements .

MSRP 検索

For MSRP , UGC is stored in MongoDB configured to use Solr for searching. UGC will not be visible in CRX, but moderation is available from both the author and publish environments.
MSRP および Solr については、次の点に留意してください。
  • AEMプラットフォームに埋め込まれたSolrは、MSRPには使用されません。
  • AEMプラットフォーム用のリモートSolrを使用する場合、MSRPと共有できますが、異なるコレクションを使用する必要があります。
  • Solrは、標準検索または多言語検索(MLS)用に設定できます。
  • For configuration details, see Solr Configuration for MSRP.
Custom search features should use the UGC search API .
When creating custom properties that are searchable, it is necessary to adhere to the naming requirements .

JSRP 検索

For JSRP , UGC is stored in Oak and is visible only in the repository of the AEM author or publish instance on which it was entered.
UGC は一般にパブリッシュ環境で入力されるので、複数の公開者が存在する実稼動システムでは、パブリッシュファームではなく、 パブリッシュクラスター の設定を通して、入力されたコンテンツがすべての公開者から表示できるようにする必要があります。
JSRP の場合、パブリッシュ環境で入力された UGC はオーサー環境には表示されません。Thus all moderation tasks take place in the publish environment.
Custom search features should use the UGC search API .

Oak インデックスの作成

AEM プラットフォーム検索用に Oak インデックスが自動的に作成されることはありませんが、AEM 6.2 以降では、AEM Communities のパフォーマンスを向上させ、UGC 検索結果を表示する際のページネーションに対応する目的で、インデックスが追加されています。
カスタムプロパティを使用していて、検索速度が遅い場合は、カスタムプロパティに対して追加のインデックスを作成し、パフォーマンスを向上させる必要があります。To maintain portability, adhere to the naming requirements when creating custom properties that are searchable.
To modify existing indices or create custom indices, refer to Oak Queries and Indexing .
The Oak Index Manager is available from ACS AEM Commons. 次の機能を提供します。
  • 既存の表示のインデックス。
  • インデックスの再作成を開始する機能。
CRXDE Lite で既存の Oak インデックスを表示するには、次の場所に移動します。
  • /oak:index/socialLucene

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

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

様々なコミュニティ機能に使用される検索可能なプロパティの一部を次に示します。
プロパティ
データタイプ
isFlagged
Boolean
isSpam
Boolean
read
Boolean
influence
Boolean
attachments
Boolean
sentiment
長整数​**
flagged
Boolean
added
日付
modifiedDate
日付
state
String
userIdentifier
String
replies
長整数​**
jcr:title
String
jcr:description
String
sling:resourceType
String
allowThreadedReply
Boolean
isDraft
Boolean
publishDate
日付
publishJobId
String
answered
Boolean
chosenanswered
Boolean
tag
String
cq:Tag
String
author_display_name
String
location_t
String
parentPath
String
parentTitle
文字列​**

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

When adding custom properties, in order for those properties to be visible to sorts and searches created with the UGC search API , it is required to add a suffix to the property name.
サフィックスは、クエリを使用する言語のスキーマです。
  • プロパティが検索可能であることを示します。
  • データタイプを識別します。
Solr は、スキーマを使用するクエリー言語の一例です。
サフィックス
データタイプ
_b
Boolean
_dt
カレンダー​**
_d
倍精度浮動小数点​**
_tl
長整数​**
_s
String
_t
テキスト
備考:
  • Textは 、トークン化された文字列で 。Stringは、 Use Text for fuzzy (more like this) searches.
  • 複数の値を持つタイプの場合、次のようにサフィックスに「s」を追加します。
    • viewDate_dt :単一の日付プロパティ
    • viewDates_dts :リストの日付プロパティ

フィルター

Components which include the comment system support the filter parameter addition to their endpoints.
AND および OR ロジックのフィルター構文は次のようになります(URL エンコード処理前)。
  • OR を指定するには、1 つのフィルターパラメーターを使用し、値をカンマで区切って指定します。
    • filter=name eq 'Jennifer',name eq 'Jen'
  • AND を指定するには、複数のフィルターパラメーターを使用します。
    • filter = name eq 'Jackson'&filter=message eq 'testing'
コミュニティコンポーネントガイド で「検索結果」ページを開く際に使用される URL に見られるように、 検索コンポーネント のデフォルト実装ではこの構文が使用されます。To experiment, browse to 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 プロジェクトが公開されています。
このリポジトリには、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管理クエリツールに渡して、さらにデバッグできます。