Suchgrundlagen

Überblick

Die Suchfunktion ist ein wesentliches Merkmal von AEM Communities. Zusätzlich zu den Funktionen AEM Plattformsuche stellt AEM Communities die UGC-Such-API für die Suche nach benutzergenerierten Inhalten (UGC) bereit. UGC verfügt über eindeutige Eigenschaften, da es separat von anderen AEM-Inhalten und Benutzerdaten eingegeben und gespeichert wird.

Für Communities werden im Allgemeinen zwei Dinge gesucht:

  • Inhalt von Community-Mitgliedern

    • Verwendet die UGC-Such-API von AEM Communities
  • Benutzer und Benutzergruppen (Benutzerdaten)

    • Verwendet die Suchfunktionen der AEM Plattform

Dieser Abschnitt der Dokumentation ist für Entwickler von Interesse, die benutzerdefinierte Komponenten erstellen, die benutzergenerierte Inhalte erstellen oder verwalten.

Sicherheits- und Shadow-Knoten

Für eine benutzerdefinierte Komponente müssen die Methoden SocialResourceUtilities verwendet werden. Die Dienstprogrammmethoden, die UGC erstellen und suchen, richten die erforderlichen Shadow-Knoten ein und stellen sicher, dass das Mitglied über die richtigen Berechtigungen für die Anfrage verfügt.

Was nicht über die SRP-Dienstprogramme verwaltet wird, sind Eigenschaften im Zusammenhang mit der Moderation.

Informationen zu Dienstprogrammmethoden, die für den Zugriff auf UGC- und ACL-Shadow-Knoten verwendet werden, finden Sie unter SRP und UGC Essentials.

UGC Search API

Der UGC common store wird von einem von verschiedenen Speicher-Ressourcen-Providern (SRPs) bereitgestellt, von denen jeder möglicherweise eine andere native Abfragesprache hat. Daher sollte benutzerdefinierter Code unabhängig vom ausgewählten SRP Methoden aus dem UGC API-Paket (com.adobe.cq.social.ugc.api) verwenden, das die für das ausgewählte SRP geeignete Abfragesprache aufruft.

ASRP-Suchvorgänge

Für ASRP wird UGC in der Adobe Cloud gespeichert. Während UGC in CRX nicht sichtbar ist, ist moderation sowohl in der Autoren- als auch in der Veröffentlichungsumgebung verfügbar. Die Verwendung der UGC-Such-API funktioniert für ASRP genauso wie für andere SRPs.

Es gibt derzeit keine Tools für die Verwaltung von ASRP-Suchen.

Beim Erstellen von benutzerdefinierten Eigenschaften, die durchsuchbar sind, müssen die Namensanforderungen eingehalten werden.

MSRP-Suchvorgänge

Für MSRP wird UGC in MongoDB gespeichert, das für die Suche mit Solr konfiguriert ist. UGC ist in CRX nicht sichtbar, aber moderation ist sowohl in der Autoren- als auch in der Veröffentlichungsumgebung verfügbar.

MSRP und Solr:

  • Der eingebettete Solr für die AEM Plattform wird nicht für MSRP verwendet
  • Wenn Sie einen Remote-Solr für die AEM Plattform verwenden, kann er für MSRP freigegeben werden, sollte jedoch unterschiedliche Sammlungen verwenden
  • Solr kann für die Standardsuche oder für mehrsprachige Suche (MLS) konfiguriert werden.
  • Weitere Informationen zur Konfiguration finden Sie unter Solr Configuration für MSRP.

Benutzerdefinierte Suchfunktionen sollten die UGC-Such-API verwenden.

Beim Erstellen von benutzerdefinierten Eigenschaften, die durchsuchbar sind, müssen die Namensanforderungen eingehalten werden.

JSRP-Suchvorgänge

Für JSRP wird UGC in Oak gespeichert und ist nur im Repository der AEM Autoren- oder Veröffentlichungsinstanz sichtbar, in der sie eingegeben wurde.

Da UGC in der Regel in die Veröffentlichungsumgebung eingegeben wird, muss für Produktionssysteme mit mehreren Herausgebern ein Veröffentlichungs-Cluster konfiguriert werden, nicht eine Veröffentlichungsfarm, damit der eingegebene Inhalt für alle Herausgeber sichtbar ist.

Bei JSRP sind in der Veröffentlichungsumgebung eingegebene benutzergenerierte Inhalte in der Autorenumgebung nie sichtbar. Daher finden alle moderation -Aufgaben in der Veröffentlichungsumgebung statt.

Benutzerdefinierte Suchfunktionen sollten die UGC-Such-API verwenden.

Oak-Indizierung

Oak-Indizes werden zwar nicht automatisch für die AEM-Plattformsuche erstellt, wurden aber seit AEM 6.2 für AEM Communities hinzugefügt, um die Leistung zu verbessern und die Paginierung bei der Präsentation von UGC-Suchergebnissen zu unterstützen.

Wenn benutzerdefinierte Eigenschaften verwendet werden und die Suche langsam ist, müssen zusätzliche Indizes für die benutzerdefinierten Eigenschaften erstellt werden, damit sie leistungsfähiger werden. Um die Portabilität zu wahren, halten Sie beim Erstellen von benutzerdefinierten Eigenschaften, die durchsuchbar sind, die Namensanforderungen ein.

Informationen zum Ändern vorhandener Indizes oder Erstellen benutzerdefinierter Indizes finden Sie unter Oak-Abfragen und Indizierung.

Der Oak Index Manager ist in ACS AEM Commons verfügbar. Er bietet:

  • Überblick über vorhandene Indizes
  • Möglichkeit, die Neuindizierung zu starten

Um die vorhandenen Oak-Indizes in CRXDE Lite anzuzeigen, lautet der Speicherort:

  • /oak:index/socialLucene

chlimage_1-235

Indexierte Sucheigenschaften

Standardmäßige Sucheigenschaften

Im Folgenden finden Sie einige der durchsuchbaren Eigenschaften, die für verschiedene Communities-Funktionen verwendet werden:

Eigenschaft Datentyp
isGekennzeichnet Boolesch
isSpam Boolesch
lesen Boolesch
Einfluss Boolesch
attachments Boolesch
sentiment Lang
markiert Boolesch
hinzugefügt Datum
modifiedDate Datum
state Zeichenfolge
userIdentifier Zeichenfolge
antworten Lang
jcr:title Zeichenfolge
jcr:description Zeichenfolge
sling:resourceType Zeichenfolge
allowThreadedReply Boolesch
isDraft Boolesch
publishDate Datum
publishJobId Zeichenfolge
beantwortet Boolesch
chosenantwortet Boolesch
tag Zeichenfolge
cq:Tag Zeichenfolge
author_display_name Zeichenfolge
location_t Zeichenfolge
parentPath Zeichenfolge
parentTitle Zeichenfolge

Benennung von benutzerdefinierten Eigenschaften

Wenn Sie benutzerdefinierte Eigenschaften hinzufügen, damit diese Eigenschaften für Sorten und Suchvorgänge sichtbar sind, die mit der UGC-Such-API erstellt wurden, müssen Sie dem Eigenschaftsnamen ein Suffix hinzufügen.

Das Suffix richtet sich an Abfragesprachen, die ein Schema verwenden:

  • Sie identifiziert die Eigenschaft als durchsuchbar
  • Er identifiziert den Datentyp

Solr ist ein Beispiel für eine Abfragesprache, die ein Schema verwendet.

Suffix Datentyp
_b Boolesch
_dt Kalender
_d Double
_tl Lang
_S Zeichenfolge
_t Text

Hinweise:

  • **Textis eine tokenisierte Zeichenfolge, ** String nicht. Verwenden Sie Text für unscharfe (mehr wie diese) Suchen.

  • Fügen Sie dem Suffix für Typen mit mehreren Werten "s"hinzu, z. B.:

    • viewDate_dt: Einzeldatumseigenschaft
    • viewDates_dts: Liste der Datumseigenschaften

Filter

Komponenten, die das Kommentarsystem enthalten, unterstützen den Filterparameter, der zu ihren Endpunkten hinzugefügt wird.

Die Filtersyntax für die UND- und ODER-Logik lautet wie folgt (wird angezeigt, bevor sie URL-codiert wird):

  • So geben Sie OR einen Filterparameter mit kommagetrennten Werten an:

    • filter=name eq 'Jennifer',name eq 'Jen'
  • So legen Sie UND mehrere Filterparameter fest:

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

Die Standardimplementierung der Suchkomponente verwendet diese Syntax, wie sie in der URL zu sehen ist, die die Seite Suchergebnisse im Community Components Guide öffnet. Um zu experimentieren, navigieren Sie zu http://localhost:4503/content/community-components/en/search.html.

Filteroperatoren sind:

EQ Gleich
NE nicht gleich
LT Kleiner als
LTE kleiner oder gleich
GE Größer als
GTE größer oder gleich
LIKE Fuzzy Match

Es ist wichtig, dass die URL auf die Communities-Komponente (Ressource) verweist und nicht auf die Seite, auf der die Komponente platziert wird:

  • Richtig: Forumskomponente
    • /content/community-components/en/forum/jcr:content/content/forum.social.json
  • Falsch: Forumsseite
    • /content/community-components/en/forum.social.json

SRP-Tools

Es gibt ein Adobe Marketing Cloud GitHub-Projekt, das Folgendes enthält:

AEM Communities SRP-Tools

Dieses Repository enthält Tools zum Verwalten von Daten in SRP.

Derzeit gibt es ein Servlet, das die Möglichkeit bietet, alle benutzergenerierten Inhalte aus einem SRP zu löschen.

So löschen Sie beispielsweise alle benutzergenerierten Inhalte in ASRP:

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

Fehlerbehebung

Solr Query

Um Probleme mit einer Solr-Abfrage zu beheben, aktivieren Sie die DEBUG-Protokollierung für

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

Die tatsächliche Solr-Abfrage wird im Debug-Protokoll als URL-kodiert angezeigt:

Die Abfrage an Solr lautet: 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

Der Wert des Parameters q ist die Abfrage. Sobald die URL-Kodierung dekodiert wurde, kann die Abfrage zur weiteren Fehlerbehebung an das Solr Admin Query Tool übergeben werden.

Auf dieser Seite