Indexering
Adobe Experience Manager erbjuder ett sätt att hålla ett index över alla publicerade sidor i ett visst avsnitt på webbplatsen. Detta används ofta för att skapa listor, feeds och aktivera sök- och filtreringsanvändning för dina sidor eller innehållsfragment.
AEM sparar indexet i ett kalkylblad och ger åtkomst till det med JSON. Se dokumentet Kalkylblad och JSON för mer information.
Konfigurera ett startfrågeindex
I det här avsnittet skapar vi ett frågeindex i rotmappen som indexerar alla dokument i serverdelen.
- När du har konfigurerat
fstab.yaml
med en monteringspunkt som pekar på din SharePoint-webbplats eller Google Drive går du till rotmappen. - Beroende på din serverdel kan du antingen skapa en arbetsbok med namnet
query-index.xlsx
för SharePoint eller ett kalkylblad med namnetquery-index
för Google Drive. - Skapa ett blad med namnet i kalkylbladet eller arbetsboken
raw_index
.
Ange egenskaper som ska läggas till i indexet
- I
query-index
dokument, lägga till en rubrikrad och i den första kolumnen lägga tillpath
som rubriknamn. - I följande kolumner på rubrikraden lägger du till alla andra egenskaper som du behöver extraherade från HTML-sidan.
I följande exempel i Google Drive är de extraherade fälten title
, image
, description
och lastModified
.
Sidorna indexeras när de publiceras. Om du vill ta bort sidor från indexet måste de avpubliceras.
För enkla scenarier utan anpassad indexdefinition, sidor som har robots
metadataegenskap inställd på noindex
utelämnas automatiskt från indexering av AEM. (Det finns några specialscenarier här. Mer information finns i avsnittet Specialscenarier för robotar).
I följande tabell sammanfattas de tillgängliga egenskaperna och varifrån på HTML-sidan de extraheras.
För varje annan rubrik som läggs till försöker indexeraren hitta en metatagg med motsvarande namn.
Aktivera index
Om du vill aktivera indexet förhandsgranskar du kalkylbladet med hjälp av sidosparken. Detta skapar en indexkonfiguration.
Kontrollerar ditt index
Administrationstjänsten har en API-slutpunkt där du kan kontrollera sidans indexrepresentation. Med tanke på din GitHub-ägare, databas, gren och ägare och en resurssökväg till en sida är slutpunkten:
https://admin.hlx.page/index/<owner>/<repo>/<branch>/<path>
Du bör få ett JSON-svar där datanoden innehåller sidans indexbeteckning.
Felsöka indexkonfigurationen
I AEM CLI finns en funktion där indexposten skrivs ut när du ändrar frågekonfigurationen, vilket hjälper dig att hitta rätt CSS-väljare:
$ aem up --print-index
Se AEM CLI GitHub-dokumentation för mer information och se detta video om du vill veta mer om funktionen.
Konfigurera fler indexkonfigurationer
Du kan definiera egna indexkonfigurationer genom att skapa egna helix-query.yaml.
Detta gör att du kan ha mer än en indexkonfiguration i samma helix-query.yaml
, där delar av dina webbplatser indexeras till olika Excel-arbetsböcker eller Google-kalkylblad. Se dokumentet Indexeringsreferens för mer information.
Specialscenarier för robotar
Det finns några nyanser om hur sidor indexeras av AEM i samband med indexeringen av webbplatsen. Låt oss titta på dem:
I följande två situationer: ange robots
till noindex
på sidan skulle metadata not förhindra att den indexeras av AEM:
- Du har lagt till en
robots
kolumn iquery-index.xlsx
- Du har en
helix-query.yaml
i din Github-databas, d.v.s. du har definierat en egen indexdefinition.
Recommendations
- Om du inte har någon anpassad indexdefinition rekommenderas att not lägg till en
robots
kolumn till indexbladet såvida du inte har ett krav på att göra det.
Lägger tillrobots
en kolumn i indexbladet skulle göra att en sida indexeras av AEM trots att den kan harobots
metadata inställda pånoindex.
- Om du har en anpassad indexdefinition, kommer sidor att indexeras av AEM oavsett inställning
robots
tillnoindex
på sidans metadata. Om du vill förhindra att detta händer kan du använda kalkylbladsfilter för att utesluta sidor från index som harrobots
metadata inställda pånoindex
. Mer information finns i avsnittet "Tvingandenoindex
konfiguration med anpassade indexdefinitioner" nedan.
Tillämpar "noindex"-konfiguration med anpassade indexdefinitioner
Om du har definierat egna indexdefinitioner i helix-query.yaml
, ställer in robots
egenskap till noindex
förhindrar inte att sidorna indexeras. För att verkställa noindex
så här är konfigurationen:
- Skapa ett blad med namnet "
helix-default
" iquery-index.xlsx
. Efter det härquery-index.xlsx
kalkylblad bör innehålla 2 blad“raw_index
" och“helix-default
". The“raw_index
"bladet finns där för att få alla obearbetade indexerade data. - Ändra din egen
helix-query.yaml
(måste finnas i ditt projekts Github-databas) och lägg tillrobots
så att den indexeras. - Nu kan du
“helix-default
" iquery-index.xlsx
kalkylblad som fylls i automatiskt med Excel-formeln som ser till att alla rader iraw_index
som harrobots
egenskapsuppsättning somnoindex
, kopieras inte tillhelix-default
blad. Detta kan du göra genom att använda en Excel-formel som den här=FILTER(Table1,NOT(Table1[robots]="noindex"))
- Nu har Helix-standardbladet bara rader från
raw_index
som inte harrobots
egenskap inställd pånoindex
. - Kontrollera att du publicerar sidorna som du vill indexera.
- Om du hämtar indexet som vanligt, som:
https://<branch>--<repo>-<org>.hlx.page/query-index.json
hämtar ni bara data frånhelix-default
d.v.s. poster som inte uttryckligen hindras från att indexeras viarobot
egenskapsuppsättning somnoindex
.