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. Mer information finns i dokumentet Kalkylblad och JSON.
Vi presenterar begreppet att skapa ett frågeindex genom att först förhandsgranska en Excel-arbetsbok eller ett Google-kalkylblad. Observera, att om du redan har en anpassad frågedefinition i en fil med namnet helix-query.yaml i din GitHub-databas går det inte längre att skapa index på det sättet. Alla nya index måste läggas till manuellt i helix-query.yaml.
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.yamlmed en monteringspunkt som pekar på din SharePoint-webbplats eller Google Drive går du till rotmappen. - Beroende på din serverdel skapar du antingen en arbetsbok med namnet
query-index.xlsxför SharePoint eller ett kalkylblad med namnetquery-indexför Google Drive. - Skapa ett blad med namnet
raw_indexi det kalkylbladet eller arbetsboken.
Ange egenskaper som ska läggas till i indexet
- Lägg till en rubrikrad i ditt
query-index-dokument och lägg tillpathsom rubriknamn i den första kolumnen. - I följande kolumner på rubrikraden lägger du till alla andra egenskaper som du behöver extraherade från den återgivna 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 utelämnas sidor med metadataegenskapen robots inställd på noindex automatiskt från indexering av AEM. (Det finns några specialscenarier här. Mer information finns i avsnittet Specialscenarier för rotationer.)
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
AEM CLI har 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
Mer information finns i AEM CLI GitHub-dokumentationen och i den här videon finns mer information om den här funktionen.
Konfigurera fler indexkonfigurationer
Du kan definiera egna indexkonfigurationer genom att skapa en egen helix-query.yaml. Det 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. Mer information finns i dokumentet Indexeringsreferens.
Specialscenarier för robotar
Det finns några nyanser om hur AEM indexerar sidor i samband med indexeringen av webbplatsen. Låt oss titta på dem:
I följande två situationer kan du robots ange noindex på sidans metadata inte för att förhindra att den indexeras av AEM:
- Du har lagt till kolumnen
robotsiquery-index.xlsx - Du har
helix-query.yamli din Github-databas, d.v.s. du har definierat en anpassad indexdefinition.
Rekommendationer
- Om du inte har någon anpassad indexdefinition rekommenderar vi att du inte lägger till en
robots-kolumn i indexbladet, såvida du inte behöver göra det.
Om du lägger tillrobots-kolumnen i indexbladet kommer en sida att indexeras av AEM även omrobots-metadata kan ha angetts tillnoindex. - Om du har en anpassad indexdefinition indexeras sidorna av AEM oavsett om
robotshar angetts tillnoindexpå 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 harrobotsmetadata inställda pånoindex. Mer information finns i avsnittet Tvingandenoindexkonfiguration med anpassade indexdefinitioner nedan.
Tillämpar "noindex"-konfiguration med anpassade indexdefinitioner
Om du har definierat egna indexdefinitioner i helix-query.yaml är det inte bra att ange egenskapen robots till noindex för att förhindra att sidorna indexeras. Så här framtvingar du noindex konfigurationen:
- Skapa ett blad med namnet
helix-defaulti dinquery-index.xlsx. Därefter bör dittquery-index.xlsx-kalkylblad ha 2 ark“raw_indexoch“helix-default. Bladet“raw_indexfinns där för att ha alla obearbetade indexerade data. - Ändra din anpassade
helix-query.yaml(den måste finnas i ditt projekts Github-databas) och lägg till egenskapenrobotsså att den indexeras. - Konfigurera nu ditt
“helix-default-blad i kalkylbladetquery-index.xlsxså att det fylls i automatiskt med Excel-formeln som ser till att alla rader iraw_indexsom har egenskapenrobotsinställd pånoindexinte kopieras över till bladethelix-default. Detta kan du göra genom att använda en Excel-formel som denna=FILTER(Table1,NOT(Table1[robots]="noindex")) - Nu har Helix-standardbladet bara rader från
raw_indexsom inte har egenskapenrobotsinställd pånoindex. - Kontrollera att du publicerar sidorna som du vill indexera.
- Om du nu hämtar indexet som vanligt, till exempel:
https://<branch>--<repo>-<org>.hlx.page/query-index.json, hämtar du bara data frånhelix-defaultsheet, d.v.s. poster som inte uttryckligen hindras från att indexeras viarobot-egenskapsuppsättningen somnoindex.