Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2024 - Gally @ SymfonyCon - Revolutionize Searc...

Romain Ruaud
December 11, 2024
26

2024 - Gally @ SymfonyCon - Revolutionize Searchandising with Gally

Why and how we crafted an unique Open Source Searchandising solution based on Symfony

Romain Ruaud

December 11, 2024
Tweet

Transcript

  1. TABLE OF CONTENTS Intro, History & Inception Going hands on

    From a Magento extension to a full Symfony standalone product • Where we stand, what we’ve done in the past • Our needs • The architecture we’ve built to fulfill them What Gally can do for you • Elasticsearch index, mappings & fields abstraction • Create impactful landing pages • Define product rankings and understand them • Go further in search relevance with vector search • Generic business cases On Premise vs SaaS Why Gally is different • Commitment on respecting privacy • Transparent and predictable pricing
  2. Recommendations SEARCHANDISING : Not (only) a search engine Categories Search

    Merchandising Facets / Filters Recommended On sale Preorders Search … Fulltext search configuration IA / LLM powered search Synonyms & Expansions Virtual categories Products manual ranking Facet management Category level facet management Ranking algorithm Boosting rules How to furnish your house Cross-content Multi-Languages Extensibility Plugins SDK API-First Up Sell, Cross Sell Personalized recos
  3. Our mission We’re matchmakers. We see e-commerce as an opportunity

    to bring people together with the right products at the right time.
  4. Where we stand and what’s to come 2013 - 2015

    2016 - 2019 2019 - 2020 2021 - 2023 2024 - 2026 R&D project • 1 people • Some Smile customers as early adopters Productization • Product has a name : Elasticsuite • Distributed as Open Source (for free) • Strong growth worldwide Questioning • Adobe/Magento stepped into the discussion to acquire us Becoming a startup • Dedicated team / Business Unit inside Smile Group • Develop a new product to address other E-Commerce solutions : Gally Scale • Reach new E-Commerce markets with Gally • Accelerate on worldwide sales
  5. Our main goals for Gally For merchants A fast and

    easy to use back-office Business features helping them to increase their revenue Affordable Customizable For end-users Relevant search results Natural language ready Excellent response time For developers Easy to extend Not requiring extensive knowledge of low-level search engines Modern technologies and paradigms Merchants Developers Endusers
  6. ➔ Unique Merchant Needs : Merchants require tailored experiences to

    differentiate their businesses and meet customer expectations. ➔ Flexibility & Personalization : We built an open-source tool to enable complete customization and feature adaptability. ➔ Developer-Friendly : Gally is based on Symfony, ensuring ease of use and accessibility for a wide developer community—no proprietary frameworks or unnecessary complexity. ➔ Aligned with Our DNA : Unlike rigid, opaque SaaS solutions, we prioritizes openness and adaptability, staying true to our values. Why We Chose Open Source Over SaaS
  7. The first level to address was the lowest one :

    ➔ the search engine itself We’ve been having 10+ years of experience on Elasticsearch, and were also familiar with OpenSearch. This was a no-brainer for us, we decided to stick with them and to support both. Building our Open Source architecture : Search Elasticsearch AWS OpenSearch ➔ on Premise ➔ or Cloud ➔ or Serverless ➔ AI/ML features (but on paid licence) ➔ on Premise ➔ or Cloud ➔ or Serverless ➔ AI/ML features
  8. Second level to address is the middle one : ➔

    the business logic ➔ the APIs We needed a layer : ➔ where we could easily implement our concepts and keep them extensible for agencies. ➔ that could be easily exposed as APIs, both for configuration (write) and for browsing (read). Building our Open Source architecture : Business Layer & API API Platform Symfony ➔ API-first (as the name says) ➔ built on top of Symfony ➔ very easy to expose REST / GraphQl ➔ (and it’s french-made) ➔ well-known by most EU agencies ➔ robust and extensible ➔ (did you know it’s french-made ?)
  9. Final level to address is the top one : ➔

    User Interface We needed a layer : ➔ where we could easily implement our concepts and keep them extensible for agencies. (yes, again) ➔ modern, easy to scaffold for building a fancy Back-Office Building our Open Source architecture : User interface Next React ➔ well-known by most developers ➔ easy to interact with GraphQl API ➔ a lot of UX/UI libraries (MaterialUI) ➔ Legacy component of API Platform Admin ➔ only used for routing in Gally
  10. The final stack : inside a Gally application Web Server

    & Cache Nginx & Varnish Business features & Elasticsearch API wrapper Gally PHP bundles (Symfony) GraphQl & REST API builder API Platform (Symfony) Configuration storage PostgreSQL Content & Data storage, computation, search Opensearch (or Elasticsearch) Open source and extensible
  11. Uses Cases : Headless commerce (or not), Omnichannel Vendor tablet

    in physical shop End User Your cloud ecosystem A chatbot agent GraphQL API GraphQL or REST API Frontend E-Commerce App Index omnichannel data and leverage on cloud based features Frontend app
  12. Low-code / No-code : abstracting the Elasticsearch complexity Cluster Nodes

    Shards (& replicas) Indices (& aliases) Mapping Settings Fields Analyzers Tokenizers Filters Type Properties Analyzer Elasticsearch concepts in real life … … and in the Gally back-office. ⇒ Don’t bother with low-level technical configuration, engage your energy in creating value where it’s needed !
  13. Impactful landing pages in a few click Father’s day incoming

    ? With Gally you can create a dedicated landing page within a minute, just by using the built-in rule engine to craft your products selection. Thematic landing pages (like “Nike woman running shoes”) created with the same tool can also drastically improve your SEO ranking.
  14. Promote the right products Leverage conversion rate by promoting :

    ➔ relevant products ➔ in the proper context ➔ for the appropriate period It’s also possible to “bury” out-of-stock or low-margin products :
  15. Avoid the “blackbox effect” It’s often hard to understand the

    ranking algorithm of SaaS solutions. Sometimes it’s even assumed that products are ranked by a “shhht it’s magic” algorithm but nobody has a clue about what’s going on. ⇒ In Gally there is a built-in “Explain” tool that gives full detail about the scoring of each product in the results, including the explanation of business rules that can be contributed in Gally. ⇒ Wanna go-deeper ? The tool can even give you the raw Elasticsearch query.
  16. Leverage search relevance with AI : Vector search Principle ➔

    On query time, the same LLM will transform the keywords typed by the end user to vectors as well. ➔ Then a kNN (k-nearest neighbors) search is done by Gally to fetch the products that are the “closest” (mathematically) of user query. Documents Queries transform into embeddings transform into embeddings -71 28 34 34 Nearest Neighbor Results Chardonnay 2005 wine for seafood … description : “... good with fish …”
  17. Governance & Data sovereignty ⇒ Gally is an On Premise

    product, merchants remain the owners of all the data stored into it. With SaaS searchandising providers, merchants are giving away : ➔ their own catalog data (public prices but probably also confidential data like margin, number of unit sold, turnover per item, etc…) ➔ their clients data (product views, sales, search history…) …and SaaS products are often giving it away as well to other sub-processors, which might be under shady or very permissive rules when it comes to personal data…
  18. The Hidden Costs of SaaS Pricing Models SaaS "Pay-as-You-Go" Pricing

    🛑 Unpredictable Costs ➔ Pricing tied to traffic, catalog size, or search queries can spiral out of control. ➔ Merchants often face skyrocketing bills during peak seasons 🛑 Penalizes Growth ➔ As the business grows, so do the costs ➔ Expanding catalogs or increased traffic can become financial burdens. 🛑 Budgeting Nightmares ➔ Hard to predict monthly expenses with fluctuating demand. ➔ Merchants struggle to align operational costs with revenue. Gally’s Fixed Pricing Model ✅ Transparent and Predictable ➔ One fixed price regardless of traffic, catalog size, or search volume. ➔ Merchants know exactly what they’re paying — no surprises. ✅ Growth-Friendly ➔ Encourage scaling your business without fear of cost spikes. ➔ Large catalogs or traffic surges? No additional charges. ✅ Merchant-Centric ➔ A pricing model designed to support long-term success. ➔ Invest in innovation and growth, not bloated operational costs. With Gally, your success is celebrated - not taxed.
  19. BOOSTS ➔ Constants boosts CONTENT MANAGEMENT ➔ Mixing E-Commerce &

    CMS ➔ Ibexa plugin AI / LLM #1 ➔ Vectorized search BEHAVIORAL FEATURES ➔ Behavioral boosts ➔ Recommendations SCOPE, ATTRIBUTES, PRODUCTS ➔ Search ➔ Scope : Catalogs and locales ➔ Attributes configuration ➔ Categories : sorting, virtual categories, product listing preview Product roadmap (2024-2025) EXPLAIN ➔ Boost analysis ➔ Thesaurus analysis ➔ Listing preview & score details PLUGIN ➔ Shopware ➔ Sylius ➔ OroCommerce SYNONYMS ➔ Synonyms & expansions AI / LLM #2 ➔ Personal Shopper
  20. Testing and contributing Gally is available on Github : Template

    repo → https://github.com/Elastic-Suite/gally Library repo → https://github.com/Elastic-Suite/gally-standard PRs are welcome !
  21. Romain RUAUD Co founder & CTO [email protected] Any questions ?

    Daniel GUIZADO Channel Manager [email protected] Book a demo on our booth or on https:/ /meetgally.com#demo