MCPcopy Index your code
hub / github.com/Elastic-Suite/gally

github.com/Elastic-Suite/gally @v2.2.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.2.1 ↗ · + Follow
417 symbols 1,119 edges 219 files 101 documented · 24%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Gally, engineered by Elasticsuite

Meet Gally, the newborn of the Elasticsuite family. If you've been an user of elasticsuite for Magento, you'll fall in love with Gally as well.

Gally is a next generation Searchandising Engine designed to easily create an API-first E-Commerce Search Engine that can still be customized to fit your needs.

Gally is MACH ready and perfectly designed to use in a Composable Commerce approach.

  • Decouple your searchandising engine from your E-Commerce application and use it from several channels. (search from shop, mobile app, E-Commerce website, ...)

  • Benefit from our out-of-the-box data model that is perfectly tailored for E-Commerce (products, categories, etc...) or extend it to fit you needs.

  • Benefit from our out-of-the-box E-Commerce Searchandising features :

  • Capable to deal with several languages per catalog.
  • Complete management of searchable and filterable attributes of your catalog.
  • Category / Products positioning.
  • Ability to sort products within categories and give them defined positions.
  • Ability to create virtual categories.
  • Ability to create thesaurus & synonyms (incoming)
  • Ability to create boosts on products based on rules (incoming)

  • Expose in minutes a hypermedia REST or a GraphQL API with pagination, data validation, access control, relation embedding, filters and error handling...

  • You can add any additional type of data (pages, blog posts,...) into Gally and be able to search inside it, thanks to our flexible API.

  • Gally uses Elasticsearch, allowing you to benefit from all the power of this technology, but you do not need to understand all the complicated concepts behind it, since they're wrapped nicely by Gally's logic.

  • Gally uses Symfony and Api-Platform, allowing you to extend anything related to the data model or to the features. You'll also benefit of all the API-Platform capabilities :

  • Design your own data model as plain old PHP classes or import an existing one from the Schema.org vocabulary.
  • Benefit from Content Negotiation: GraphQL, JSON-LD, Hydra, HAL, JSONAPI, YAML, JSON, XML and CSV are supported out of the box.
  • Enjoy the beautiful automatically generated API documentation (Swagger/OpenAPI).
  • Create specs and tests with a developer friendly API testing tool.

GitHub Actions

Install

Read our install page.

Credits

Gally is engineered by the ElasticSuite team, part of the Smile-SA group (https://www.smile.eu).

Elasticsearch is a reserved trademark of Elastic

Api Platform was created by Kévin Dunglas.

Extension points exported contracts — how you extend this code

ResultDocumentRepositoryInterface (Interface)
(no doc)
api/src/Acme/ExampleBundle/src/Example/Repository/ResultDocument/ResultDocumentRepositoryInterface.php
IDocumentsHook (Interface)
(no doc)
front/example-app/src/types/document.ts
VariantOverrides (Interface)
(no doc)
front/pwa/global.d.ts
GridCondition (Interface)
(no doc)
front/e2e/src/helper/grid.ts
DocumentRepositoryInterface (Interface)
(no doc)
api/src/Acme/ExampleBundle/src/Example/Repository/Document/DocumentRepositoryInterface.php
IVectorSearchDocumentsHook (Interface)
(no doc)
front/example-app/src/types/document.ts
OptionsObject (Interface)
(no doc)
front/pwa/global.d.ts
IUserCredentials (Interface)
(no doc)
front/e2e/src/helper/auth.ts

Core symbols most depended-on inside this repo

generateTestId
called by 166
front/e2e/src/helper/testIds.ts
addFilter
called by 54
front/e2e/src/helper/filter.ts
selectValue
called by 53
front/e2e/src/helper/dropdown.ts
removeFilter
called by 36
front/e2e/src/helper/filter.ts
expectToHaveCount
called by 27
front/e2e/src/helper/pagination.ts
renderHookWithProviders
called by 23
front/example-app/src/utils/tests.tsx
expectToFindLineWhere
called by 19
front/e2e/src/helper/grid.ts
toggle
called by 18
front/e2e/src/helper/switch.ts

Shape

Method 179
Function 126
Interface 58
Class 49
Enum 5

Languages

TypeScript70%
PHP30%

Modules by API surface

front/e2e/src/helper/dropdown.ts20 symbols
front/e2e/src/helper/pagination.ts17 symbols
front/e2e/src/helper/filter.ts15 symbols
front/e2e/tests/helper/pagination.ts13 symbols
front/e2e/tests/helper/dropdown.ts10 symbols
front/e2e/src/helper/switch.ts10 symbols
front/e2e/src/helper/grid.ts9 symbols
front/e2e/src/helper/tabs.ts8 symbols
front/example-app/src/components/VectorSearch/ProductList.tsx6 symbols
front/example-app/src/components/Products/Products.tsx6 symbols
front/example-app/src/components/Cms/Pages.tsx6 symbols
front/e2e/src/helper/alertMessage.ts6 symbols

Datastores touched

(mysql)Database · 1 repos
db_nameDatabase · 1 repos

For agents

$ claude mcp add gally \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact