Sök i Grundläggande search-essentials

Ökning overview

Sökfunktionen är en viktig funktion i Adobe Experience Manager (AEM) Communities. Förutom funktionerna för AEM plattformssökning innehåller AEM Communities UGC-söknings-APIför sökning efter användargenererat innehåll (UGC). UGC har unika egenskaper eftersom de anges och lagras separat från andra AEM och användardata.

För Communities är de två saker som generellt söks igenom:

  • Innehåll som publicerats av communitymedlemmar

    • Det använder AEM Communities UGC-söknings-API.
  • Användare och användargrupper (användardata)

    • Det använder AEM sökfunktioner för plattformen.

Det här avsnittet av dokumentationen är av intresse för utvecklare som skapar anpassade komponenter som skapar eller hanterar UGC.

Säkerhets- och skuggnoder security-and-shadow-nodes

För en anpassad komponent måste du använda metoderna SocialResourceUtilities. Verktygsmetoderna som skapar och söker efter UGC skapar de skuggnoder som krävs och ser till att medlemmen har rätt behörighet för begäran.

Det som inte hanteras via SRP-verktygen är egenskaper som är relaterade till moderering.

Se SRP och UGC Essentials för information om verktygsmetoder som används för att komma åt UGC- och ACL-skuggnoder.

API för UGC-sökning ugc-search-api

Den gemensamma lagringsplatsenför UGC tillhandahålls av en av flera olika lagringsresursleverantörer (SRP), som båda kanske har olika inbyggda frågespråk. Därför bör anpassad kod, oavsett vald SRP, använda metoder från UGC API-paketet (com.adobe.cq.social.ugc.api) som anropar det frågespråk som är lämpligt för vald SRP.

ASRP-sökningar asrp-searches

För ASRP lagras UGC i molnet Adobe. UGC är inte synligt i CRX, men moderation är tillgängligt både från författaren och Publish-miljöer. Användning av UGC-söknings-API fungerar för ASRP på samma sätt som för andra SRP.

Det finns inga verktyg för att hantera ASRP-sökningar.

När du skapar anpassade egenskaper som är sökbara måste du följa namnkraven.

MSRP-sökningar msrp-searches

För MSRP lagras UGC i MongoDB som konfigurerats att använda Solr för sökning. UGC är inte synligt i CRX, men moderation är tillgängligt både från författaren och Publish-miljöer.

Om MSRP och Solr:

  • Den inbäddade Solr-funktionen för den AEM plattformen används inte för MSRP.
  • Om du använder en fjärransluten Solr för den AEM plattformen kan den delas med MSRP, men de bör använda olika samlingar.
  • Solr kan konfigureras för standardsökning eller för flerspråkig sökning (MLS).
  • Konfigurationsinformation finns i Solr Configuration för MSRP.

Anpassade sökfunktioner bör använda UGC-söknings-API.

När du skapar anpassade egenskaper som är sökbara måste du följa namnkraven.

JSRP-sökningar jsrp-searches

För JSRP lagras UGC i Oak och visas bara i databasen för den AEM författaren eller Publish-instans som den angavs för.

Eftersom UGC vanligtvis används i Publish-miljön måste du konfigurera ett publiceringskluster, inte en publiceringsgrupp, för produktionssystem med flera utgivare, så att det angivna innehållet visas för alla utgivare.

För JSRP visas aldrig UGC som anges i Publish-miljön i författarmiljön. Därför utförs alla modereringsuppgifter i Publish-miljön.

Anpassade sökfunktioner bör använda UGC-söknings-API.

Oak Indexing oak-indexing

Oak-index skapas inte automatiskt för AEM plattformssökning, men från och med AEM 6.2 har de lagts till för AEM Communities för att förbättra prestanda och ge stöd för sidnumrering när UGC-sökresultat presenteras.

Om anpassade egenskaper används och sökningarna är långsamma, måste ytterligare index skapas för de anpassade egenskaperna för att de ska bli bättre. Om du vill behålla portabilitet ska du följa namnkraven när du skapar anpassade egenskaper som är sökbara.

Mer information om hur du ändrar befintliga index eller skapar anpassade index finns i Oak-frågor och indexering.

Oak Index Manager är tillgängligt från ACS AEM Commons. Den innehåller följande:

  • En vy över befintliga index.
  • Möjlighet att initiera omindexering.

Om du vill visa de befintliga Oak-indexen i CRXDE Lite är platsen:

  • /oak:index/socialLucene

social-lucene

Egenskaper för indexerad sökning indexed-search-properties

Egenskaper för standardsökning default-search-properties

Nedan följer några av de sökbara egenskaper som används för olika webbgruppsfunktioner:

Egenskap
Datatyp
isFlagged
Boolean
isSpam
Boolean
read
Boolean
påverka
Boolean
bilagor
Boolean
känslouttryck
Lång
flaggad
Boolean
tillagd
Datum
modifiedDate
Datum
läge
Sträng
userIdentifier
Sträng
svar
Lång
jcr:title
Sträng
jcr:description
Sträng
sling:resourceType
Sträng
allowThreadedReply
Boolean
isDraft
Boolean
publishDate
Datum
publishJobId
Sträng
besvarat
Boolean
välj
Boolean
tag
Sträng
cq:Tagg
Sträng
author_display_name
Sträng
location_t
Sträng
parentPath
Sträng
parentTitle
Sträng

Namngivning av anpassade egenskaper naming-of-custom-properties

När du lägger till anpassade egenskaper, för att dessa egenskaper ska vara synliga för sortering och sökningar som skapats med UGC-söknings-API, är det obligatoriskt att lägga till ett suffix till egenskapsnamnet.

Suffixet är för frågespråk som använder ett schema:

  • Den identifierar egenskapen som sökbar.
  • Den identifierar datatypen.

Solr är ett exempel på ett frågespråk som använder ett schema.

Suffix
Datatyp
_b
Boolean
dt
Kalender
_d
Dubbel
_tl
Lång
_s
Sträng
_t
Text

Anteckningar:

  • Texten är en tokeniserad sträng, men String är inte det. Använd Text för oskarpa (mer som detta) sökningar.

  • För typer med flera värden lägger du till 's' i suffixet, till exempel:

    • viewDate_dt: egenskapen för enstaka datum
    • viewDates_dts: lista med datumegenskaper

Filter filters

Komponenter, som innehåller kommentarsystemet, stöder filterparametern förutom slutpunkterna.

Filtersyntaxen för AND- och OR-logiken uttrycks enligt följande (visas innan den är URL-kodad):

  • Ange eller använd en filterparam med kommaavgränsade värden:

    • filter=name eq 'Jennifer',name eq 'Jen'
  • Så här anger och använder du flera filterparametrar:

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

Standardimplementeringen av sökkomponenten använder den här syntaxen, vilket visas i den URL som öppnar sökresultatsidan i guiden för communitykomponenter. Om du vill experimentera går du till http://localhost:4503/content/community-components/en/search.html.

Filteroperatorer är:

EQ
är lika med
NE
inte lika med
LT
mindre än
LTE
mindre än eller lika med
GE
större än
GTE
större än eller lika med
LIKE
luddig matchning

Det är viktigt att URL:en refererar till komponenten Communities (resursen) och inte till sidan som komponenten är placerad på:

  • Korrekt: forumkomponent
    • /content/community-components/en/forum/jcr:content/content/forum.social.json
  • Felaktigt: forumsida
    • /content/community-components/en/forum.social.json

SRP-verktyg srp-tools

Det finns ett Adobe Experience Cloud GitHub-projekt som innehåller

AEM Communities SRP-verktyg

Den här databasen innehåller verktyg för att hantera data i SRP.

För närvarande finns det en servlet som kan ta bort all UGC från alla SRP.

Om du till exempel vill ta bort all UGC i ASRP:

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

Felsökning troubleshooting

Solr-fråga solr-query

Aktivera DEBUG-loggning för att felsöka problem med en Solr-fråga

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

Den verkliga Solr-frågan visas som URL-adress som är kodad i felsökningsloggen:

Frågan som ska besvaras är: 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

Värdet för parametern q är frågan. När URL-kodningen har avkodats kan frågan skickas till Solr Admin Query Tool för ytterligare felsökning.

Relaterade resurser related-resources

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