Lesson 1Modelling variations, SKUs, attributes and nested objects vs. parent/childModel product variations, SKUs, and attributes while balancing query simplicity and index size. Compare nested objects with parent-child relations, and learn patterns for colour, size, bundles, and marketplace style multi-seller offers suitable for local markets.
Flat vs nested attribute modellingRepresenting colour, size, and stylePer-SKU pricing and availabilityWhen to use parent-child relationsHandling bundles and kits modellingMarketplace multi-seller product designLesson 2Designing product index schema: field names, types, examples (keyword, text, numeric, date, nested)Design a complete product index schema with realistic fields and types. Learn how to choose between keyword, text, numeric, date, and nested fields, and see concrete examples that support search, sorting, filtering, and analytics for diverse product catalogues.
Core identity and catalogue fieldsText fields for titles and descriptionsNumeric and date fields for rankingBoolean and status fields for filtersNested fields for complex attributesExample end-to-end product mappingLesson 3Analysers and tokenisation: standard, whitespace, custom lowercase, stopwords, asciifold/icuDive into analysers and tokenisation strategies for product search. Compare standard and whitespace analysers, build custom lowercase and stopword analysers, and use asciifolding or ICU to handle accents and multilingual product data in African contexts.
Standard vs whitespace analysersBuilding custom lowercase analysersManaging stopwords for relevanceUsing asciifolding for accentsICU analysers for multilingual dataTesting analysers with the APILesson 4Time-series and event index modelling: user events schema (searches, clicks, views, purchases)Learn how to model user events such as searches, clicks, views, and purchases as time-series data. Understand index naming, event schemas, retention, and how modelling choices affect analytics, funnels, and real-time dashboards for business insights.
Designing a unified user event schemaIndex-per-time vs rollover strategiesCapturing searches, clicks, views, buysChoosing identifiers and join keysRetention, ILM, and cold storageAggregations for funnels and cohortsLesson 5Normalisation for faceting: using keywords and normalised lowercased fieldsUnderstand how to normalise fields for robust faceting and filtering. Learn when to use keyword fields, normalisers, and lowercased variants to ensure consistent aggregations, case-insensitive filters, and clean facet labels in the user interface.
Keyword fields for filters and facetsUsing normalisers for lowercase valuesHandling accents and Unicode variantsDealing with whitespace and trimmingMapping enums and controlled vocabulariesFacet label formatting for the UILesson 6Overview of document vs. relational modelling patterns for productsCompare document-oriented and relational modelling for product data. Understand denormalisation, joins, and duplication, and learn when Elasticsearch should be the source of truth versus a search layer over a relational catalogue in practical setups.
Relational product schema recapDenormalisation patterns in ElasticsearchHandling joins and reference dataTrade-offs in duplication and updatesSearch index vs system of recordSyncing from relational DB to indexLesson 7Field mapping details: multi-fields, keyword subfields, doc_values, norms, index optionsExplore field mapping options that control how product data is indexed and stored. Learn when to use multi-fields, keyword subfields, doc_values, norms, and index options to balance search relevance, aggregations, and storage costs effectively.
Defining text vs keyword field typesConfiguring multi-fields for flexibilityUsing keyword subfields for sortingEnabling and tuning doc_valuesControlling norms and scoring impactIndex options and storage trade-offsLesson 8N-gram and edge n-gram analysers: configs, use cases, trade-offs (autocomplete vs. full-text)Configure n-gram and edge n-gram analysers for autocomplete and partial matching. Learn how token lengths, positions, and filters affect index size, recall, and precision, and how to avoid noisy matches in full-text search applications.
Basics of n-grams and edge n-gramsDesigning autocomplete analysersChoosing min_gram and max_gram sizesIndex size and performance trade-offsAvoiding noisy and low-quality matchesCombining n-grams with keyword fieldsLesson 9Timestamping, user identifiers, session IDs, and schema for aggregations and pipelinesModel timestamps, user IDs, and session IDs to support analytics and pipelines. Learn how to capture event time correctly, design fields for aggregations, and prepare data for enrichment, attribution, and downstream processing in real-world scenarios.
Event time vs ingestion time fieldsUser identifiers and privacy concernsSession and visit identificationFields optimised for aggregationsSchema for attribution and funnelsSupporting ETL and pipeline stages