Suchgrundlagen search-essentials

Überblick overview

Die Suchfunktion ist eine wesentliche Funktion von Adobe Experience Manager (AEM) Communities. Zusätzlich zu den Funktionen für die 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

    • Es verwendet die UGC-Such-API von AEM Communities.
  • Benutzer und Benutzergruppen (Benutzerdaten)

    • Es 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 Schattenknoten security-and-shadow-nodes

Für eine benutzerdefinierte Komponente müssen die Methoden SocialResourceUtilities verwendet werden. Die Dienstprogrammmethoden, die UGC erstellen und suchen, stellen die erforderlichen Shadow-Knoten her 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 ugc-search-api

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

ASRP-Suchvorgänge asrp-searches

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 Publish-Umgebung verfügbar. Die Verwendung der UGC Search 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 Benennungsanforderungen erfüllt werden.

MSRP-Suchvorgänge msrp-searches

Für MSRP wird UGC in MongoDB gespeichert, das für die Verwendung von Solr für die Suche konfiguriert ist. UGC ist in CRX nicht sichtbar, aber Moderation ist sowohl in der Autoren- als auch in der Publish-Umgebung 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 die mehrsprachige Suche (MLS) konfiguriert werden.
  • Weitere Informationen zur Konfiguration finden Sie unter Solr-Konfiguration für MSRP.

Benutzerdefinierte Suchfunktionen sollten die UGC-Such-API verwenden.

Beim Erstellen von benutzerdefinierten Eigenschaften, die durchsuchbar sind, müssen die Benennungsanforderungen erfüllt werden.

JSRP-Suchvorgänge jsrp-searches

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

Da UGC in der Regel in die Publish-Umgebung 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 Publish-Umgebung eingegebene benutzergenerierte Inhalte nie in der Autorenumgebung sichtbar. Daher finden alle Moderationsaufgaben in der Publish-Umgebung statt.

Benutzerdefinierte Suchfunktionen sollten die UGC-Such-API verwenden.

Oak-Indizierung oak-indexing

Oak-Indizes werden zwar ab AEM 6.2 nicht automatisch für die AEM-Plattformsuche erstellt, doch wurden sie 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 Suchvorgänge langsam sind, müssen zusätzliche Indizes für die benutzerdefinierten Eigenschaften erstellt werden, um sie leistungsfähiger zu machen. 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. Es bietet:

  • Eine Ansicht der vorhandenen Indizes.
  • Die Möglichkeit, die Neuindizierung zu starten.

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

  • /oak:index/socialLucene

social-lucene

Indexierte Sucheigenschaften indexed-search-properties

Standardsucheigenschaften default-search-properties

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
Anlagen
Boolesch
sentiment
Long
markiert
Boolesch
hinzugefügt
Datum
modifiedDate
Datum
state
Zeichenfolge
userIdentifier
Zeichenfolge
antworten
Long
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 benutzerdefinierter Eigenschaften naming-of-custom-properties

Wenn Sie benutzerdefinierte Eigenschaften hinzufügen, damit diese Eigenschaften für Sorten und Suchen sichtbar sind, die mit der UGC-Such-API erstellt wurden, muss erforderlich ein Suffix zum Eigenschaftsnamen hinzugefügt werden.

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
Long
_s
Zeichenfolge
_t
Text

Anmerkungen:

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

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

    • viewDate_dt: Eigenschaft für ein einzelnes Datum
    • viewDates_dts: list of dates property

Filter filters

Komponenten, die das Kommentarsystem enthalten, unterstützen den Filterparameter zusätzlich zu den Endpunkten.

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 geben Sie UND verwenden mehrere Filterparameter an:

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

Die Standardimplementierung der Suchkomponente verwendet diese Syntax, wie sie in der URL angezeigt wird, die die Seite "Suchergebnisse"im Leitfaden zu Community-Komponenten ö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 als oder gleich
GE
größer als
GTE
größer als 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: Forumkomponente
    • /content/community-components/en/forum/jcr:content/content/forum.social.json
  • Falsch: Forumsseite
    • /content/community-components/en/forum.social.json

SRP-Tools srp-tools

Es gibt ein Adobe Experience 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 alle benutzergenerierten Inhalte aus einem beliebigen SRP löschen kann.

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 troubleshooting

Solr Query solr-query

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

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

Die tatsächliche Solr-Abfrage wird in der URL angezeigt, die im Debug-Protokoll kodiert ist:

Die zu lösende Abfrage 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.

Verwandte Ressourcen related-resources

recommendation-more-help
81e2cd9d-0789-409d-b87c-2a8ce4f28791