Eurowings · Lufthansa Group•4-month production rollout
AI-Powered Semantic Search
Enterprise search powered by embeddings, retrieval, and LLMs
Built a production AI onsite search platform for airline e-commerce that understands natural-language questions, user typos, semantic variations, and FAQ intent across nine European languages.
Traditional keyword matching on airline e-commerce platform struggled with natural-language questions, typos, semantic variations, and multilingual intent. High zero-result rates made it harder for customers to find answers and increased avoidable support demand. The objective was a production-grade search engine that could surface accurate FAQ answers and handle changing web content reliably.
Architecture
Nuxt.js website and backend search API
Daily Databricks ETL ingests website pages and FAQ Q&A pairs into governed Delta tables.
Smart token-boundary chunking creates web-page chunks up to 500 tokens and FAQ chunks up to 80 tokens.
Delta Change Data Feed synchronizes model- and content-type-specific indexes into Databricks Vector Search.
A secured model-serving endpoint exposes hybrid retrieval through a REST API gateway connecting the web application to inference services.
LLM summarization for high-confidence answer generation
AI-powered semantic search architecture
Technical Decisions
Combined BM25 lexical precision for exact flight and booking terms with dense vector embeddings and reranking for semantic intent.
Benchmarked Azure OpenAI text-embedding-3-large against HuggingFace intfloat/multilingual-e5-large-instruct and selected E5 Large with hybrid ranking for multilingual quality, cost efficiency, and serving latency.
Used decoupled governed index tables partitioned by model and content type to support zero-downtime model upgrades.
Kept retrieval deterministic and used GPT-4 only for final summarization to control cost and hallucinations.
Production Challenges
Used incremental snapshotting to detect content updates and deletions, purge obsolete pages, and prevent broken links from being served.
Scheduled weekly drift analysis against a gold-standard dataset, with automated alerts when average recall falls below the 65% baseline threshold.
Built a Databricks App with Streamlit for batch benchmarking across Recall, Precision, F1, P@K, and NDCG@K, complemented by Databricks Genie AI Agents for conversational production insights.
Optimized endpoint cold starts with lazy model loading, standardized 100–500 word chunk sizing, and query-time deduplication.
Reduced latency with caching, parallel retrieval, prompt optimization, and top-k tuning.
Introduced confidence thresholds and score-gap heuristics to handle vector-search false positives.
Added offline golden-set evaluation and canary rollback after an embedding-model update hurt recall.
Outcomes
Achieved approximately 80.5% top-10 recall and 66.66% top-5 recall on complex customer queries using the E5 Large hybrid pipeline.
Expanded from an English MVP to nine European languages: English, German, Czech, Austrian German, Italian, French, Spanish, Swedish, and Dutch.
Established a governed AI search foundation with Delta Lake, Vector Search, CI/CD deployment bundles, continuous benchmarking, and observability.
Created a maintainable content lifecycle that refreshes changed pages and removes deleted or unavailable content automatically.
18% reduction in customer support calls, generating €420K annual cost savings
Higher self-service engagement for baggage, cancellation, and check-in content