Releases: Elastic-Suite/gally
v 1.3.1
New features
Attributes in autocomplete
A new configuration allows merchants to show attribute in the autocomplete results:
If you search for some product, the autocomplete response will contain some attributes in order to help users to find the product they are searching for more easily by pre-filtered the result page:
Explain details premium
In the previous version we released a new page in the gally backoffice where marchant can preview the results of their configuration. In this version we add the possibility to show the details of how the score of each product has been computed.
Use external model premium
Vector search congfiguration has been improve in order to allow the usage of external large language models (such as the one provided by OpenAI, Cohere or MistralAi) :
gally_vector_search:
llm_model:
name: miniLM_remote_v17
format: REMOTE
version: '2'
config:
model_type: bert
embedding_dimension: 384
framework_type: sentence_transformers
connector:
name: test_connector_model_remote_116
version: 1
protocol: http
parameters:
endpoint: api-inference.huggingface.co
credential:
huggingface_token: 'XXX'
actions:
- action_type: predict
method: POST
url: https://${parameters.endpoint}/pipeline/feature-extraction/sentence-transformers/all-MiniLM-L6-v2
headers:
Authorization: 'Bearer ${credential.huggingface_token}'
request_body: '{ "inputs": ${parameters.inputs} }'
pre_process_function: 'String first = params.text_docs[0]; return "{ \"parameters\":{\"inputs\":[\"" + first + "\"]}}";'
post_process_function: 'def shape = [params.result[0].length]; return "{\"name\": \"sentence_embedding\", \"data_type\": \"FLOAT32\", \"shape\": " + shape + ", \"data\": " + params.result[0] + " }"'
trusted_endpoints:
- "^https://api-inference\\.huggingface\\.co/.*$"
📦 Features
- [Explain] Move definition of 'gally-font' in body tag by @botisSmile in #601
- [VectorSearch] Auto deploy model by @botisSmile & @PierreGauthier in #596 #597 #599 #600
- [VectorSearch] Update opensearch and update cluster configuration for memory management by @PierreGauthier in #602
- [Architecture] Make redis cache server configurable by @botisSmile in #603
- [Autocomplete] Autocomplete attributs by @matthias-goupil in #604
- [Example App] Don't use is_active attribute on categor… by @botisSmile in #606
🔨 Quality
- [Makefile] Set default version in init-dev-env by @PierreGauthier in #598
- [CI] Fix clean useless docker volume by @PierreGauthier in #605
New Contributors
- @matthias-goupil made their first contribution in #604
Full Changelog: 1.3.0...1.3.1
v 1.3.0
New features
Boost preview premium
In the boost contribution page, you can now have a preview of the effect of the boost you are creating. You will be able to see how the boost affect your product score and how the position of the product evolves after the application of this boost.
Explain premium
A new menu has been added to the gally backoffice. It allows user to visualize the results of a given context (a product search or a category product listing). This will help merchants to understand why some products are at a certain position by displaying their document score and highlight the product that are manually positioned.
Vector Search premium
A new endpoint has been added to the graphQl schema in order use the OpenSearch ability to do semantic search. In short, a vector that represent your document will be computed by a LLM (Large Language Model) during the indexation of your data based on you configuration. When a user will search data on your website, it's search query will be also computed as a vector and the search engine will return all the document that are semantically close to the search query instead of the results that match the words of the search query (like a classical search engine will do).
Configuration
A default model have been configured in the gally_vector_search.yaml
, you can update this configuration to change this model by any PyToch or ONNX embedding model.
gally_vector_search:
llm_model:
name: 'huggingface/sentence-transformers/all-MiniLM-L12-v2'
version: 1.0.1
format: ONNX
...
The screen in the screenshot aboveallow you to compute a dynamic field on each product which will be used by the LLM to calculate the vector for this product.
The field "Vectorisable" indicate which field we want to include in vector computation.
The field "Position" indicate in which order we want to include these fields.
And the field "prompt" allow you to create a short sentence where the field value will be inserted at the position of the @%s@ placeholder.
For exemple if you have a product with these data :
name: My Product
sku: AAA
description: An incredible product
price: 75€
With the above configuration, the vector will be calculated from a dynamic field with the value : The product's name is: My Product and this is its description : An incredible product
.
Usage
A new GraphQl endpoint has been added in the api : vectorSearchDocuments
.
It needs the same parameter as the documents
endpoint, but it will run a semantic search instead a fulltext search.
A new screen has been added to the example app in order to be able to compare results from these two search approaches.
📦 Features
- [Explain] Add explain page in Gally by @botisSmile in #586
- [Search engine] Switch to OpenSearch 2 by @PierreGauthier in #578
- [VectorSearch] Add compaison page between vector search and fulltext search in example app @PierreGauthier in #589 #591
🔨 Quality
- [CI] Update cs-fixer command to avoid running docker compose from a sub directory @PierreGauthier in #588
- [Symfony] Update composer version of symfony/flex to 1.21.5 by @botisSmile in #590
Full Changelog: 1.2.0...1.3.0
v 1.2.0
New features
Autocomplete
In the example App, the autocomplete feature has been added for products and categories.
Search on CMS pages
In the example App, the search on "CMS pages" entity has been added.
Thesaurus
In the premium version, you can now add synonyms and expansions to improve the search results according to your business.
📦 Features
- [Thesaurus] Merge thesauruses on master by @botisSmile in #574
- [Search] [Autocomplete] feat #1243475 Autocomplete by @botisSmile in #558
- [Search] [CMS] #1214071 Add possibility to search on CMS pages by @botisSmile in #579
- [Versions] feat: #1265689 update front package versions to '~1.2.0-alpha.8' by @botisSmile in #583
🔨 Quality
- [CI] Feat deploy sylius demo by @PierreGauthier in #581
- [CI] Fix deploy demo by @botisSmile in #567
- [CI] Fix deploy demo, fix github workflow syntax by @botisSmile in #568
- [CI] Fix deploy demo by @botisSmile in #569
- [CI] Switch form packgist.smie.fr to elasticsuite.repo.packagist.com via a… by @botisSmile in #570
- [CI] Add PACKAGIST_URL secret on deploy 1.x.x workflows by @botisSmile in #571
- [CI] Add PACKAGIST_URL secret on deploy workflows by @botisSmile in #572
- [CI] Reconfigure CI workflow for master by @botisSmile in #573
- [CI] Deploy to shopware demo from Github by @PierreGauthier in #575
- [CI] Increase memory limit for tests by @PierreGauthier in #580
- [CI] Fix icon-material timeout on Yarn install by @PierreGauthier in #582
Full Changelog: 1.1.0...1.2.0
v 1.1.0
What's Changed
- ESPP-668 Refacto deploy action by @botisSmile in #509
- Revert "ESPP-668 Refacto deploy action" by @botisSmile in #512
- Add beberlei/doctrineextensions composer package by @botisSmile in #542
- Update front version of Gally packages on master by @botisSmile in #544
- Update @elastic-suite/gally-admin-shared version on example-app to main by @botisSmile in #551
- "Merge" Feature boost on master by @botisSmile in #543
- #1242562 [Elasticsearch] Prevent automatic ES requests during model A… by @rbayet in #546
- Update gally front packages by @Adrien-Meynard in #552
- Set initial scale value by @botisSmile in #553
- [Github secret] Replace AWS_HOSTNAME_1_0_x by AWS_HOSTNAME_STABLE by @botisSmile in #559
- Update the deploy schedule of the 1.1.x integration by @botisSmile in #566
Full Changelog: 1.0.2...1.1.0
v 1.0.2
What's Changed
- Fix init-dev-env according to release managment by @PierreGauthier in #550
- #1229501 Set caddy vulcain version on api Dockerfile by @botisSmile in #554
- Fix deployment with fixed version in composer.json by @PierreGauthier in #555
- Update version of Gally packages to 1.0.2 by @PierreGauthier in #556
Full Changelog: 1.0.1...1.0.2
v 1.0.1
What's Changed
- Espp 619 app example show more by @Ponefar in #507
- Feat espp 668 integration environments 1.0.x by @botisSmile in #510 #511 #513
- ESPP-668 Github actions, removes dependency between delivery and test… by @botisSmile in #514
- ESPP-668 Refactor github actions by @botisSmile in #515 #516
- ESPP-668 Remove test branch on github actions by @botisSmile in #517
- Fix Makefile, change default branch on init-dev-env command by @botisSmile in #518
- ESPP-668 Add the possibility to skip the tests before the delivery by @botisSmile in #520 #521
- ESPP-668 Add chekout origin/branch_name on delivery process by @botisSmile in #522
- ESPP-668 Fix deploy-demo.yml, set the good 'back_branch' name by @botisSmile in #523
- Espp 686 app example image error url by @Ponefar in #508
- Add 'switch-dev-env' in make commands by @botisSmile in #524
- [Docker build] Update caddy version by @rbayet in #527
- Update url in install docs by @shochdoerfer in #526
- Feat 1196129 add boosts by @botisSmile in #525
- [Makefile] Fix php cs fixer command by @PierreGauthier in #528
- #1229501 Set explicitly mercure versions by @botisSmile in #536
- #1228809 [DockerFiles] Add 'yarn cache clean' on front images to redu… by @botisSmile in #535
- Update front version of Gally packages on 1.0.x by @botisSmile in #545
- Revert "Update front version of Gally packages on 1.0.x" by @botisSmile in #547
- Update version to 1.0.1 for all the gally packages in front and back by @botisSmile in #549
New Contributors
- @shochdoerfer made their first contribution in #526
Full Changelog: 1.0.0...1.0.1
v 1.0.0 - Initial release
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.
First, be sure to check the install page to build your project environment.
Then you'll be all set to begin integrating your data with Gally by following our integration guide
v 1.0.0 - Initial release
-
Ability to synchronize catalogs :
- Catalog structure (fields)
- Catalog data : categories & products
-
Ability to configure fields :
- Searchable fields
- Filterable fields
- Sortable fields
-
Ability to merchandize categories :
- Default sorting.
- Manual product sorting.
- Virtual Categories
-
Ability to synchronize additional entity types.
-
Complete E-Commerce search API to navigate through products & categories, display layered navigation, and proceed with fulltext search.
-
Complete agnostic API to navigate through additional entity types.