Algolia Search integration for Magento 2 - compatible with versions from 2.3.x to 2.4.x

Overview

Algolia Search for Magento 2

Latest version Magento 2

CircleCI


🔎   Need help? Check out our Technical Troubleshooting Guide. For feedback, bug reporting, or unresolved issues with the extension, please contact us at [email protected]. Please include your Magento version, extension version, application ID, and steps to reproducing your issue. Add additional information like screenshots, screencasts, and error messages to help our team better troubleshoot your issues.


Magento 2.4 compatibility & extension's versions End of Life

We are happy to announce that the version 3.x of our extension is now compatible with Magento 2.4. Review the Customisation section to learn more about the differences between our extension versions.

Additionally, we are announcing the end of life for our legacy versions. We will continue to support and backport major changes to the minor branches until the defined dates below. We will not accept community PRs for those branches after this date.

Extension Version End of Life
v1.x Dec 2020
v2.x Dec 2020
v3.x N/A

  • Autocompletion menu: Offer End-Users immediate access to your whole catalog from the dropdown menu, whatever your number of categories or attributes.

  • Instantsearch results page: Have your search results page, navigation and pagination updated in realtime, after each keystroke.

Official website: https://www.algolia.com/solutions/magento/.

Note: if your store is running under Magento version 1.x, please check our Algolia for Magento 1 extension.

Demo

Try the autocomplete and the instantsearch results page on our live demo.

Algolia Search

Algolia is a search engine API as a service capable of delivering realtime results from the first keystroke.

This extension replaces the default search of Magento with a typo-tolerant, fast & relevant search experience backed by Algolia. It's based on algoliasearch-client-php, autocomplete.js and instantsearch.js.

Documentation

Check out the Algolia Search for Magento 2 documentation.

Installation

The easiest way to install the extension is to use Composer and follow our getting started guide.

Run the following commands:

  • $ composer require algolia/algoliasearch-magento-2
  • $ bin/magento module:enable Algolia_AlgoliaSearch
  • $ bin/magento setup:upgrade && bin/magento setup:static-content:deploy

Upgrading from 1.x to 2.x

With the release of a new major version, we have decided to create minor and major version releases to allow those that want to continue on the minor version. This update will break compatibility. Please read the upgrade guide for all of the file changes and updates included in this release.

If you would like to stay on the minor version, please upgrade your composer to only accept versions less than version 2 like the example:

"algolia/algoliasearch-magento-2": ">=1.13.1 <2.0"

Contribution

To start contributing to the extension follow the contributing guildelines.

Customisation

The extension uses libraries to help assist with the frontend implementation for autocomplete, instantsearch, and insight features. It also uses the Algolia PHP client to leverage indexing and search methods from the backend. When you approach customisations for either, you have to understand that you are customising the implementation itself and not the components it is based on.

These libraries are here to help add to your customisation but because the extension has already initialised these components, you should hook into the area between the extension the libraries.

The Extension JS Bundle

Knowing the version of the library will help you understand what is available in these libraries for you to leverage in terms of customisation. This table will help you determine which documentation to reference when you start working on your customisation.

Extension Version autocomplete.js instantsearch.js search-insights.js
v1.x 0.26.0 2.10.2 0.0.14
v2.x 0.38.0 4.7.2 1.4.0
v3.x 0.38.0 4.15.0 1.7.1

The autocomplete and instantsearch libraries are accessible in the algoliaBundle global. This bundle is a prepackage javascript file that contains it's dependencies. What is included in this bundle can be seen here:

v1.x latest bundle: https://github.com/algolia/algoliasearch-extensions-bundle/blob/ISv2/package.json
v2.x latest bundle: https://github.com/algolia/algoliasearch-extensions-bundle/blob/ISv4/package.json

The search-insights.js library is standalone.

Refer to these docs when customising your Algolia Magento extension frontend features:

The Algolia PHP API Client

The extension does most of the heavy lifting when it comes to gathering and preparing the data needed for indexing to Algolia. In terms of interacting with the Algolia Search API, the extension leverages the PHP API Client for backend methods including indexing, configuration, and search queries.

Depending on the extension version you are using, you could have a different PHP API client version powering the extension's backend functionality.

Extension Version API Client Version
v1.x 1.28.0
v2.x 2.5.1
v3.x 2.5.1

Refer to these docs when customising your Algolia Magento extension backend:

Need Help?

Here are some helpful documentation to help with your issue:

For feedback, bug reporting, or unresolved issues with the extension, please contact us at [email protected]. Please include your Magento version, extension version, application ID, and steps to reproducing your issue. Add additional information like screenshots, screencasts, and error messages to help our team better troubleshoot your issues.

Comments
  • Admin Analytics Overview

    Admin Analytics Overview

    Summary

    Replicate the Analytics Overview section of the Algolia Dashboard for Magento 2 using Algolia's Analytics API.

    Result

    • Create new Analytics Overview menu item
    • AnalyticsHelper to handle Analytics API endpoints
    • Controllers for overview page and asynchronous form update
    • Use store selector and create custom form to handle daterange and index type
    • Use Google Charts API v2 for render interactive graph for w/ tooltip breakdown
    • Added generic tooltip template based off of Magento's form tooltip
    opened by bsuravech 18
  • New routing system + fixed backend rendering

    New routing system + fixed backend rendering

    This feature fixes and enhances the backend rendering (according to the new routing system introduced by Instantsearch V2 : https://community.algolia.com/instantsearch.js/v2/guides/routing.html

    opened by damcou 10
  • Fix configurable price that breaks special price

    Fix configurable price that breaks special price

    For configurable product, $product->getPrice() returns 0, and so any special prices are not added because of the check $specialPrice < $customData[$field][$currencyCode]['default']

    Further in the code configurable price falls back to $min price

    if ($customData[$field][$currencyCode]['default'] == 0) {
        $customData[$field][$currencyCode]['default'] = $min;
    

    but special price is already missed. It looks like more relevant approach is to use priceInfo structure.

    Please review. Looking forward to your comments, Roman

    opened by unicoder88 8
  • Adminhtml improvements: XSS prevention, translations, etc

    Adminhtml improvements: XSS prevention, translations, etc

    Summary Fixed and improved a lot of thing in adminhtml templates:

    1. Added XSS prevention (escapeHtml, escapeJs, etc) in templates
    2. Added as it`s possible translations
    3. Change $this usage to $block (Magento guidelines)
    4. Moved inline styles to web/css/common.css

    Please review, Thnx!

    opened by vmalyk 7
  • Update API client to v2

    Update API client to v2

    Summary This PR updates the Algolia API Client from version 1 to version 2. This allows us to make use of any features that will be added through the client.

    Result The extension keeps working as expected.

    opened by DevinCodes 7
  • Fixed active categories for stores with a different root category ID

    Fixed active categories for stores with a different root category ID

    Summary We noticed having categories in our category indexes that belonged to a different storeview.

    The problem is that the extension expects that all categories are available in the default scope (0).

    This isn't always the case since we can set a website to a separate category root with completely different category structure.

    The current situation causes ALL categories to show up in ALL stores, a lot of them without a rewrite since the rewrite doesn't exist since the category isn't associated to that store.

    This method walks through all active store groups and fetches the category root ID. It then walks through the activeCategories array looking for categories that are assigned to that root ID and then changes the prefix (which is almost certainly 0-) to the correct prefix, causing these categories only to show up in that store.

    Result Correct categories only show up in the correct indexes.

    The solution I provided here probably isn't the nicest since it fixes a wrong output instead of generating a correct output in the first place. However, this was the easiest and quickest for me to fix the issue short-term so I could create a module or a patch. I'll leave the refactoring to you guys.

    opened by peterjaap 7
  • Truncate sku field for large configurable products when handling large objects

    Truncate sku field for large configurable products when handling large objects

    Summary

    We have extremely large configurable products (up to 10.000 SKUs). When syncing these products to Algolia, we noticed that these products were being skipped, like this;

    Algolia reindexing: 
                    You have some records which are too big to be indexed in Algolia. 
                    They have either been truncated 
                    (removed attributes: description, short_description, meta_description, content) 
                    or skipped completely: 
    magento2_st_de_products 
                        - ID 692545 - skipped - longest attribute: sku
    

    This turns out to be because the sku attribute in the object is filled with all the child SKU's of the configurable products. This makes sense; it makes the configurable product discoverable through any of its child SKUs. However, in our case, we have thousands of these SKU's and there is a slim chance anyone will search on the child SKU's.

    I've therefore added a bit of logic to the handleTooBigRecord method that will pop off each of one of the SKUs (starting from the end and work its way forward). Each time it will check whether the object will fit in the index and if so, it will return it to the main thread.

    I've also added this slightly more intelligent removal of attributes to the $potentiallyLongAttributes, which were removed in one go instead of trying to test whether removing 1 or 2 already makes the object fit.

    Result It gets indexed;

    Algolia reindexing: 
                    You have some records which are too big to be indexed in Algolia. 
                    They have either been truncated 
                    (removed attributes: description, short_description, meta_description, content) 
                    or skipped completely: 
    magento2_st_de_products - ID 692545 - truncated
    
    opened by peterjaap 7
  • Various fixes for algolia search module

    Various fixes for algolia search module

    • Merged in external fix to rename Producthelper > ProductHelper
    • Fixed issue where indexing used incorrect base urls in multi-store environment
    • Refactored topsearch.phtml template into smaller, more manageable and modular templates
    • Added some formatting and translation where missing
    • Cleanup of some incorrect/old/unnecessary code
    opened by phirunson 7
  • Move transformHit to new file and add by requireJS

    Move transformHit to new file and add by requireJS

    Summary

    1. Start of implementation to use common.js by RequireJS way instead script in head fo issue #642
    2. Improve utilize for transformHit and extending function by Magento mixin or replace implementation by map section in requirejs-config.js.

    Example to add mixin in Vendor_ModuleName/view/frontend/requirejs-config.js

    var config = {
        "mixins": {
            "transformHit": {
                "Vendor_ModuleName/js/add-custom-js": true
            }
        }
    }
    
    opened by vmalyk 6
  • Subscribe to price index changes - reindex products when catalog rule is applied

    Subscribe to price index changes - reindex products when catalog rule is applied

    Hi there, how is it going?

    Our customers too often complain that when they start new campaign with catalog rules, Algolia prices are not updated, and ask us to reindex all manually. That's it! We need to do something about it :)

    One difficulty with catalog rules is that it's sometimes difficult to know when some particulat product is affected by catalog rule. After some research I found that after catalog rules reindex, catalog price index is always called. This means that we can subscribe to catalog_product_index_price table and get Algolia to reindex when new rules take effect.

    We keep all our indexers in update by schedule mode and Algolia queue runner enabled, so this approach should work.

    Steps to reproduce

    1. Let's test on simple products, default Magento 2.2.7. Bag initial price 45 NOK. https://prnt.sc/mdmk3d
    2. Set all indexes in update by schedule mode, enable queue runner. https://prnt.sc/mdmkd1
    3. Create catalog rule 10% e.g. for category Bags https://prnt.sc/mdmkrn
    4. Run cron to update indexes
    5. Run Algolia queue runner index

    Expected:

    1. Discounted price in Algolia

    Actual:

    1. Changed products not added to algolia_products_cl table
    2. Job not added to Algolia queue
    3. Price in Algolia is outdated https://prnt.sc/mdmls3

    When I added new mview subscription and ran setup:upgrade, triggers got created https://prnt.sc/mdmgjy . Now trying to turn the rule off and on again, running cron:run and reindex queue (a few times) - and new price is there! https://prnt.sc/mdmm0y https://prnt.sc/mdmmaz

    P.S. I checked since when catalog rules started automatically influencing price index - since Magento 2.2.5:

    • price index modifier https://github.com/magento/magento2/blob/2.2.5/app/code/Magento/CatalogRule/Model/Indexer/ProductPriceIndexModifier.php
    • indexer dependency https://github.com/magento/magento2/blob/2.2.5/app/code/Magento/CatalogRule/etc/indexer.xml#L18

    Looking forward to your thoughts :)

    opened by unicoder88 6
  • Obliterated usage of ObjectManager in CategoryHelper

    Obliterated usage of ObjectManager in CategoryHelper

    Summary

    For specific cases, the algolia_queue_runner ran out of memory (especially with a large number of jobs or when using EMPTY_QUEUE). We diagnosed the problem by using Blackfire and found the objectmanager repeatedly creating objects inside CategoryHelper, hogging up precious memory. By using DI to inject these objects and thereby not re-creating them on every product loop, we fixed the memory leak.

    Result

    No more memory leak.

    opened by peterjaap 6
Releases(3.9.1)
  • 3.9.1(Nov 30, 2022)

    What's Changed

    Updates

    • Refactored the Autocomplete to provide an extensible model for function-based templates by utilizing tagged template literals. The approach supports the use of RequireJS mixins for overriding the template functionality.
    • Update the synonym area notice in the Magento admin to point customers to use the Algolia dashboard for Synonym management as Magento Dashboard will be deprecated in a future release
    • Refactored the casting Attributes
    • Managing Max record size via the admin

    Bug Fixes

    • Autocomplete category links not preselecting facets on the target URL
    • Fixed bug related to conjunctive facets and adaptive images in autocomplete
    • Fixed issue with showing empty in the url if autocomplete was disabled
    • Fixed autocomplete suggestions
    • Instant search fixes when the price was set to retrievable = 'no'
    • Add to cart triggering duplicate view event for the Algolia recommend products
    • Issues while saving and loading data by the wrong cache key for the popular queries
    • Issues with max_retries in clear old jobs function in the queue
    • Place Order duplicate Conversion issue for Grouped Product
    • Fixes issues with store-specific category index

    Full Changelog: https://github.com/algolia/algoliasearch-magento-2/compare/3.7.0...3.9.1

    Source code(tar.gz)
    Source code(zip)
  • 3.9.0(Oct 28, 2022)

    What's Changed

    New Features

    • Trends Recommendations: We have added the ability to add Trending Items to the PDP and the shopping cart page. More information can be found here. We also provide a Trending Items widget that can be used to add Trending Items to any page.
    • Added an option to show Recommend Related and Frequently Bought Together products on the shopping cart page.
    • Added an option to enable the Add To Cart button for all types of recommended products (Related, Frequently Bought Together, and Trending Items).
    • Added Algolia Recommend dashboard link on the Magento dashboard
    • Added Algolia Search extensions release notes link in the Magento admin to be able to access release notes easily.
    • Implemented Recommended Product click event using personalization.

    Updates

    • Refactored the Algolia Insight functionality in the extension code base per Magento standard (moved the observer directory in the module root).
    • Refactored the autocomplete 2.0 code to make it more developer-friendly to allow for customization per customer needs.
    • Collated all autocomplete-specific logic in a single autocomplete.js file and segregated JS-based templates that control the layout of the different autocomplete sources to be more developer-friendly. This enables the customers to easily override the layout of the autocomplete menu in the custom theme and the extension.

    Bug Fixes

    • Click event in autocomplete
    • Autocomplete errors if the product is not assigned a category and indexed into Algolia
    • Issues with the price attribute in autocomplete when price attribute is set to Non-Retrievable
    • The autocomplete in Query merchandiser (in the Magento admin) shows products from the default store on switching stores [Fixed]
    • Issues with triggering Add to Cart Conversion for Configurable Product
    • Issues with indexer not updating when product goes out of stock when the last of the inventory is done
    • Autocomplete menu disappears when debug mode is set to Yes

    Full Changelog: https://github.com/algolia/algoliasearch-magento-2/compare/3.8.1...3.9.0

    Source code(tar.gz)
    Source code(zip)
  • 3.8.1(Sep 2, 2022)

    What's Changed

    UPDATES

    • Updated the system configuration message for Click & Conversion Analytics in https://github.com/algolia/algoliasearch-magento-2/pull/1233
    • Added validation in synonyms upload section (for Algolia Search) in the Magento admin in https://github.com/algolia/algoliasearch-magento-2/pull/1224
    • Updated code to set "Filter Only" facets via the instantsearch/facets settings in the Magento admin panel in https://github.com/algolia/algoliasearch-magento-2/pull/1224
    • Updated CSR policy to fix content security error for insights.io by in https://github.com/algolia/algoliasearch-magento-2/pull/1228

    Bug Fixes

    • Updated System Config comments in https://github.com/algolia/algoliasearch-magento-2/pull/1221
    • Fixed the Remove trailing ? url in category page by in https://github.com/algolia/algoliasearch-magento-2/pull/1222
    • Fix issue with table prefix and code cleanup by in https://github.com/algolia/algoliasearch-magento-2/pull/1229
    • Fixed the InstantSearch variant image issue by in https://github.com/algolia/algoliasearch-magento-2/pull/1223
    • Fix Magento 2.4.5 compatibility issue by in https://github.com/algolia/algoliasearch-magento-2/pull/1231

    Full Changelog: https://github.com/algolia/algoliasearch-magento-2/compare/3.8.0...3.8.1

    Source code(tar.gz)
    Source code(zip)
  • 3.8.0(Aug 18, 2022)

    What's Changed

    New Features 🎉

    • MAGE-264 Added Algolia Recommend in https://github.com/algolia/algoliasearch-magento-2/pull/1212
    • MAGE-299 Updated Autocomplete V1.6.3 in https://github.com/algolia/algoliasearch-magento-2/pull/1217

    Bug Fixes

    • MAGE-334 Fixed the issue with in_numeric in search suggestion indexing in https://github.com/algolia/algoliasearch-magento-2/pull/1218
    • MAGE-325 Fix Analytics Page Issue in Magento Admin in https://github.com/algolia/algoliasearch-magento-2/pull/1215
    • MAGE-255 Fixed Landing Page Issue with ViewModel in https://github.com/algolia/algoliasearch-magento-2/pull/1216

    Full Changelog: https://github.com/algolia/algoliasearch-magento-2/compare/3.7.0...3.8.0

    Source code(tar.gz)
    Source code(zip)
  • 3.7.0(Jun 29, 2022)

    What's Changed

    New Features 🎉

    • Mage-252 Updated instant search js version to 4.41.0 by @mohitalgolia in https://github.com/algolia/algoliasearch-magento-2/pull/1203

    Bug Fixes

    • Auto Complete issue fix by @ratikant-singh in https://github.com/algolia/algoliasearch-magento-2/pull/1205
    • MAGE-301 Remove mview update via patch by @mohitalgolia in https://github.com/algolia/algoliasearch-magento-2/pull/1210
    • MAGE-298 fixed explode() passes null issue by @mohitalgolia in https://github.com/algolia/algoliasearch-magento-2/pull/1208
    • 3.7.0 Release Changes by @mohitalgolia in https://github.com/algolia/algoliasearch-magento-2/pull/1209

    Full Changelog: https://github.com/algolia/algoliasearch-magento-2/compare/3.6.1...3.7.0

    Source code(tar.gz)
    Source code(zip)
  • 3.6.1(Jun 8, 2022)

    What's Changed

    New Features 🎉

    • Updated Algolia Php Client version 2.5.1 to 3.2.0

    Full Changelog: https://github.com/algolia/algoliasearch-magento-2/compare/3.6.0...3.6.1

    Source code(tar.gz)
    Source code(zip)
  • 3.6.0(May 27, 2022)

    What's Changed

    New Features 🎉

    • Implemented DB schema using the Declarative schema

    Full Changelog: https://github.com/algolia/algoliasearch-magento-2/compare/3.4.0...3.6.0

    Source code(tar.gz)
    Source code(zip)
  • 3.4.0(May 19, 2022)

  • 3.3.0(May 2, 2022)

    What's Changed

    New Features 🎉

    • Added release.yml for automating release notes. by @rakesh-algolia in https://github.com/algolia/algoliasearch-magento-2/pull/1174
    • Algolia Search Composer update for magento 2.4.4 dependencies by @mohitalgolia in https://github.com/algolia/algoliasearch-magento-2/pull/1173

    Bug Fixes

    • Requirejs not definded on swagger page fix by @ratikant-singh in https://github.com/algolia/algoliasearch-magento-2/pull/1172
    • MAGE-186 Integration Test fix by @ratikant-singh in https://github.com/algolia/algoliasearch-magento-2/pull/1176
    • MAGE-197 merchandising issue fix by @ratikant-singh in https://github.com/algolia/algoliasearch-magento-2/pull/1177
    • MAGE-207 userToken not properly being sent with M2 by @mohitalgolia in https://github.com/algolia/algoliasearch-magento-2/pull/1178
    • Updated Change log by @mohitalgolia in https://github.com/algolia/algoliasearch-magento-2/pull/1179
    • 3.3.0 Update Readme by @mohitalgolia in https://github.com/algolia/algoliasearch-magento-2/pull/1183

    Full Changelog: https://github.com/algolia/algoliasearch-magento-2/compare/3.2.0...3.3.0

    Source code(tar.gz)
    Source code(zip)
  • 3.2.0(Oct 21, 2021)

    UPDATES

    • Removing Proxy features (#1143)
    • Update module sequence and indexers (#1132)
    • Add additional attributes for customer groups (#1144)
    • Add priceRanges back to uistate (#1151)
    • Set visibility of getTaxPrice() to public in ProductWithoutChildren (#1159) (@JeroenVanLeusden)
    • Improve check: and try to handle URL by URL rewrites if request path is NULL. (#1149) (@vmalyk)
    • Unfilter getCoreCategories() from private getCategoryById() (#1154)
    • Add ability to change region for Analytics call (#1131) (@bchatard)

    FIXES

    • Add missing indexName for autocomplete sections (#1133)
    • Add check if color object is defined for adaptive images (#1135)
    • Add small change on category indexing for Enterprise Edition (#1136)
    • Refactor loops and fix analytics overview issues (#1137)
    • Fix missing 'out of' translation on search results page (#1139) (@NickdeK)
    • Restore query value in custom instant search box (#1142) (@vmalyk)
    • Fix instantsearch rangeInput labels (#1148)
    • Recalculate special price if zero default pricing (#1160)
    • Add missing label for queue method rebuildCategoryIndex (#1152) (@tezlopchan)
    • Fix max original price for product with children (#1155) (@valeriish)
    • Store scope category merchandising based on store_id param (#1156)
    • Fix Subproduct Image Data (#1157)
    • Add try/catch to add to cart push events (#1158)
    • Fix for BE side renderting and caching 2 types of content (#1161) (@sudma)
    • Fix: categories not included filtering on product listing (#1163)
    • Fix: removing old feature checking for C&C that triggers deprecated endpoint (#1164)

    TOOLING

    • Update CI testing (#1140)
    Source code(tar.gz)
    Source code(zip)
  • 3.1.0(Feb 24, 2021)

    UPDATES

    • Fetch Algolia additional data only in the extension's sections in the Magento config (#1119)
    • Remove image URL manipulation (#1120) by @fredden
    • Add product source hook to modify search options (#1123)
    • Use button element for search button (#1102) by @fredden
    • Set Price Calculation to true for every tax field during price calculation (#1124)
    • Update maintainers.md with process info (#1128)
    • Update algoliaBundle with latest instantsearch version (#1127)

    FIXES

    • Fix to keep the price slider values in the filter when user refresh the page (#1121)
    • Add missing handle for cms editor layout needed for pagebuilder (#1122)
    • Adding credentials check to prevent Magento from crashing on fresh install (#1125)
    Source code(tar.gz)
    Source code(zip)
  • 2.0.4(Dec 16, 2020)

    FEATURES

    • CMS Page indexing improvement (#1113) (by @vmalyk)

    UPDATES

    • Added some configuration to algoliaConfig JS object (#1097)
    • Update csp for proxy and update admin bundle (#1098)
    • Add tags for QM and LPB queries to use VM if applicable (#1103)
    • InfiniteHits change showMoreLabel to showMoreText (#1105)
    • Turn off Perso when it’s not available in the plan but activated in the Magento admin (#1104)
    • Keep custom Rules set directly on Algolia dashboard for CMS Pages, Suggestions and Additional sections. (#1106)

    FIXES

    • Indexing queue grids fixes (#1096)
    • linter fix templates (#1108)
    • Configurable product with broken image when set to “no_selection” (#1101) (by @dverkade)
    • Insights Analytics - Fix Add to Cart Conversion (#1111)
    • Added try/catch on CheckoutSuccess event (#1112)
    • Merge 2 connect-src policy sections to 1 (#1110) (by @vmalyk)
    Source code(tar.gz)
    Source code(zip)
  • 3.0.2(Nov 26, 2020)

    FEATURES

    • CMS Page indexing improvement (#1113) (by @vmalyk)

    UPDATES

    • Add tags for QM and LPB queries to use VM if applicable (#1103)
    • InfiniteHits change showMoreLabel to showMoreText (#1105)
    • Turn off Perso when it's not available in the plan but activated in the Magento admin (#1104)
    • Keep custom Rules set directly on Algolia dashboard for CMS Pages, Suggestions and Additional sections. (#1106)
    • Remove from composer suggestion for es compatibility (#1114)

    FIXES

    • linter fix templates (#1108)
    • Configurable product with broken image when set to "no_selection" (#1101) (by @dverkade)
    • Insights Analytics - Fix Add to Cart Conversion (#1111)
    • Added try/catch on CheckoutSuccess event (#1112)
    • Merge 2 connect-src policy sections to 1 (#1110) (by @vmalyk)
    Source code(tar.gz)
    Source code(zip)
  • 3.0.1(Oct 15, 2020)

    UPDATES

    • Added some configuration to algoliaConfig JS object (#1097)
    • Update csp for proxy and update admin bundle (#1098)

    FIXES

    • Switch from mt_rand to random_int to meet marketplace expectations (#1095)
    • Indexing queue grids fixes (#1096)
    Source code(tar.gz)
    Source code(zip)
  • 3.0.0(Oct 1, 2020)

    This update will break compatibility if you're using the backend facets feature. Please read the Magento 2.4 section of our documentation to get more information about it.

    New Features

    • Compatibility with Magento 2.4

    UPDATES

    • Remove less than IE9 condition from configuration template (#1068)
    • Add messaging for indexing queue and logs (#1070)
    • Remove IdentityInterface from job model class (#1071)
    • Convert condition to conditions formatting (#1072)
    • Remove backend facets and Mysql Adapter (2.4 compatibility) (#1073)
    • Update PHP and magento framework versions (#1074)
    • Backport: Added algolia/algoliasearch-inventory-magento-2 to suggest (#1075) @vmalyk
    • Remove PHP requirements from Composer (#1077) @vmalyk
    • Set ACL resource titles are translatable. (#1080) @vmalyk
    • If order not found fetch order from first order ID (#1081)
    • Exclude category facets from clearRefinement on category page (#1083)
    • Update bundle with updated IS and autocomplete versions (#1084)
    • Add Customisation section to README.md (#1086)

    FIXES

    • Fix microdata on instantsearch (#1065) @flagbit
    • Instantsearch Category Filter when category facet is not configured (#1069)
    • Fix serialization issue with 2.4 (#1079)
    • Add image check to skip if placeholder for adaptive imgs (#1082)

    TOOLING

    • Update CircleCi for Magento v2.3.5-2 and v2.4.0 (#1078)
    Source code(tar.gz)
    Source code(zip)
  • 2.0.3(Sep 29, 2020)

    UPDATES

    • Remove less than IE9 condition from configuration template (#1068)
    • Add messaging for indexing queue and logs (#1070)
    • Remove IdentityInterface from job model class (#1071)
    • Convert condition to conditions formatting (#1072)
    • Update bundle with updated IS and autocomplete versions (#1084)
    • If order not found fetch order from first order ID (#1081)
    • exclude category facets from clearRefinement on category page (#1083)

    FIXES

    • Fix microdata on instantsearch (#1065) @flagbit
    • Instantsearch Category Filter when category facet is not configured (#1069)
    Source code(tar.gz)
    Source code(zip)
  • 1.13.3(Sep 29, 2020)

    UPDATES

    • Set forwardToReplicas for copy rules to false (#1060)
    • Added algolia/algoliasearch-inventory-magento-2 to suggested modules by Composer (#1040) @vmalyk
    • Set ACL resource titles are translatable. (#1076) @vmalyk
    • Change condition to accept multi conditions (#1087)
    • Remove IdentityInterface from job model class (#1088)
    Source code(tar.gz)
    Source code(zip)
  • 2.0.2(Jul 23, 2020)

    UPDATES

    • Update setUserToken to cap character length (#1058)
    • Set forwardToReplicas for copy rules to false (#1059)
    • Use current store id to get settings for replicas (#1057) @palviggi-flagbit
    • Make sure original price range is saved for configurables (#1015) @palviggi-flagbit

    FIXES

    • Restore "search as you type" feature (#1061)
    • Fix error on URL during Pages indexing (#1012) @palviggi-flagbit
    Source code(tar.gz)
    Source code(zip)
  • 2.0.1(Jun 25, 2020)

    UPDATES

    • Update the copyQueryRules method to use api client copyRules (#1029)
    • Removed obsolete trigger for catalog_product_entity_media_gallery from mview.xml (#1027) @vmalyk
    • Add csp_whitelist for services (#1039)
    • Refactor getSalesData() method for optimisation (#1034)
    • Activate "filterPromotes" attribute for created Merchandising Rules (#1043)
    • Add category_without_path only if categories is searchable (#969) @VincentMarmiesse

    FIXES

    • Prevent division by zero in the Notice Helper when configuration is not set (#1026)
    • Remove extra css import (#1013) @palviggi-flagbit
    • Bundle products collection to return getItems array (#1038)
    • Switch from priceRanges to input ranges widget for ISV4 (#1042)
    • Check the right storeId for moveIndex (#1016) @palviggi-flagbit

    TOOLING

    • Remove composer self-update from circleCI quality tools (#1032)
    • Update CircleCI quality tools to remove composer set and install (#1033)
    Source code(tar.gz)
    Source code(zip)
  • 1.13.2(Jun 25, 2020)

    UPDATES

    • Update copyQueryRules to use client scopedCopyIndex (#1030)
    • Removed obsolete trigger for catalog_product_entity_media_gallery from mview.xml (#1025) @vmalyk
    • Added CSP whitelisted hosts for Magento 2.3.5 or higher (#1036) @vmalyk
    • Refactor getSalesData() method for optimisation (#1041)
    • Add filterPromotes to true for query rules (#1045)
    • Add category_without_path only if categories is searchable (#969) (#1051) @VincentMarmiesse

    FIXES

    • Prevent division by zero in the Notice Helper when configuration is not set (#1031) @vmalyk
    • Fix ProductHelper for bundle subproducts error (#1014)
    • Check the right storeId for moveIndex (#1016) (#1051) @palviggi-flagbit

    TOOLING

    • Circleci do not use cache on the global composer vendor (#997) (#1028)
    • Remove composer self-update from circleCI quality tools (#1032) (#1052)
    • Update CircleCI quality tools to remove composer set and install (#1033) (#1052)
    Source code(tar.gz)
    Source code(zip)
  • 2.0.0(Apr 16, 2020)

    With the release of a new major version, we have decided to create minor and major version releases to allow those that want to continue on the minor version. This update will break compatibility. Please read the upgrade guide for all of the file changes and updates included in this release.

    If you would like to stay on the minor version, please upgrade your composer to only accept versions less than version 2 like the example:

    "algolia/algoliasearch-magento-2": ">=1.13.1 <2.0"

    New Features

    Source code(tar.gz)
    Source code(zip)
  • 1.13.1(Apr 15, 2020)

    Updates

    • Add warning after image cache is flushed (#983)

    Fixes

    • Fix bundle product selections for subproducts (#982)
    • Fixes visibility in B2B / Catalog Permissions raw SQL (#977)
    Source code(tar.gz)
    Source code(zip)
  • 1.13.0(Feb 5, 2020)

    1.13.0

    FEATURES

    • Indexing Queue Log admin view (#929)

    UPDATES

    • Add documentations links on top of the Indexing Queue page (#931)
    • Archive logs cleaning (#928)
    • Admin notices refactoring (#921)
    • Join 2 callbacks for autocomplete updated event (#926) @vmalyk
    • Replace class names to ::class instead string names (#936) @vmalyk
    • Added translation to ui components and source options (#938) @vmalyk
    • Adminhtml improvements: XSS prevention, translations, etc (#939) @vmalyk
    • Tests: improve class names usage and replace literal name to ::class (#940) @vmalyk
    • Clean up adminhtml queue controllers (#968)

    FIXES

    • Prevent type error for backend facet query (#911)
    • B2B countable error in ProductDataArray class (#915)
    • Hide out of stock for configurable products (#925) @vmalyk
    • Remove "Replace categories" config dependency (#930)
    • PHP 7.2 warning error fixes (#932)
    • Remove Object manager and add factories to constructor (#937) @vmalyk
    • Fix Landing Page Builder remove url rewrite when disabled (#944)
    • Re-add forgotten indexOutOfStockOptions() method behaviour (#954)
    • Use Guzzle to for version checking (#949)
    • Fix configurable image condition (#964)
    Source code(tar.gz)
    Source code(zip)
  • 1.12.1(Oct 30, 2019)

    1.12.1

    This release has been made possible thanks to the involvement of the community, with about half of the pull requests merged coming from the Magento ecosystem.

    The Magento team at Algolia really wanted to thank our amazing community for its help. For this release, a big shout out for:

    • @DavidLambauer
    • @JosephMaxwell
    • @peterjaap
    • @unicoder88
    • @VincentMarmiesse
    • @vmalyk

    Thanks A LOT for your PRs, we really appreciate!

    What this release brings:

    FEATURES

    • Add extension notifier (#868)

    UPDATES

    • Removed objectManager from ProductHelper (#814) (by @peterjaap)
    • Removing the BaseAdminTemplate block (#822)
    • Add config warnings for ES and MSI (#889)
    • Remove catalog index price update by schedule subscription (#870) (by @unicoder88)
    • Added alt attribute for img tags (#896) (by @vmalyk)
    • Add "suggest" section modules in composer.json (#898) (by @vmalyk)
    • Create replicas if Backend Facet Rendering is enabled (#902) (by @VincentMarmiesse)

    FIXES

    • Fixed the dependency list (#843) (by @DavidLambauer)
    • Pass set product website_id to load catalogrule prices with enabled customer groups (#853) (by @unicoder88)
    • Clean scope code resolver when starting environment emulation (#857) (by @unicoder88)
    • Fixing order of setting parameters (#859) (by @JosephMaxwell)
    • Fixed Composer requirements and README.md (#884) (by @vmalyk)
    • Fix Tier Price calculation (#887)
    • Fix autocomplete additional sections link URL (#891)
    • Fix errors in code instead ignore in PHPStan (#878) (by @vmalyk)
    • Fix product image helper method to return set images (#899)
    • Fix version to 1.12.1 for unsubscribe Mview migration (PR #870) (#910) (by @vmalyk)

    TOOLING

    • Events tracking (#805)
    • chore: fixes styleci configuration (#847)
    • chore(ignores-phpstan-fixed-errors): sets reportUnmatchedIgnoredError (#877)
    • ci: quality assurance tools (#882)
    • Ci/quality tools (#886)
    • chore: increases phpstan level to 1 (#892)
    • Make changes to pass new Marketplace test expectations (#906)
    Source code(tar.gz)
    Source code(zip)
  • 1.12.0(Oct 4, 2019)

    FEATURES

    • Algolia's facets backend rendering for Mysql Engine (#802)

    UPDATES

    • The extension no longer supports Magento 2.1 BC Break
    • B2B Feature : add condition for allow catalog browsing for enabling and add count check for list() (#820)
    • Updated enabled logic to pull from the config helper class (#820)
    • Add ACL for Algolia Search configuration section (#829)
    • Remove the isQueueActive() check for the product plugin (#830)
    • Update get product images (#823)
    • Remove Circle CI 2.1 check (#849)
    • Add facet query rules management + dashboard warnings (#844)
    • Update video links in admin (#850)
    • Add new support page with tabs (#845)
    • Adjust the extension to be ready for upcoming MSI optional support that will come through another extension. (#841)
    • Making PHPCompatibility assess no funky <7.1 PHP is used in our project
    • Magento Cloud Development setup teardown (#860)
    • Add type checking tool configuration (#861)
    • Add notice when users have access to C&C Analytics but they haven't turned it on (#867)

    FIXES

    • Add Store emulation for full category reindexing (#826)
    • Category Product Updates for Update on Schedule (#819)
    • Fix disabled autocomplete with active facet query rule) (#866)
    Source code(tar.gz)
    Source code(zip)
  • 1.11.3(Jul 4, 2019)

  • 1.11.2(Jun 17, 2019)

    Updates

    • Fix setSettings on TMP index when settings were not properly merged (#785)
      • As well the settings are now set to the index immediately before the move operation so no settings are lost
    • Update Plugins observers for Magento v2.1 compatibility (#783)
      • Use after and before plugin methods instead of around methods which increases DX and performance of the extension
    • Update to Category Merchandising by adding notification for category display mode, 50 pins limit, and spacing update to Merchandising page (#795)
    • Add price ranges widget to Landing Page Builder product grid (#779)
    • Add storeID to getFacets for multi-store compatibility (#789)

    Thanks for your contribution to our latest version @Eroslaev (#789)!

    Source code(tar.gz)
    Source code(zip)
  • 1.11.1(May 27, 2019)

    • Fixed compatibility with PHP 5.6 (#776, #780)
    • Category plugin now uses "before" and "after" merhods instead of "around" methods (#775)
    • Fetch "image" attribute for Product object during indexing (#772)
    Source code(tar.gz)
    Source code(zip)
  • 1.11.0(May 7, 2019)

    FEATURES

    • Tutorial videos inside the admin configuration (#704)
      • Added Youtube tutorial videos on top of each relevant configuration page of the extension.
    • B2B Catalog Permissions (#695)
      • Added support for Magento Commerce (EE) edition features: Catalog Permissions and B2B Shared Catalog.
    • Query merchandiser (#739)
      • Feature to let you promote or demote products for a search. Based on Algolia's Query rules.

    UPDATES

    • Refactor categories to be indexed by batches (#696)
    • Translate HTML text in hit template (#702)
    • Refactored Queue mechanism (#698 #713 #740)
    • Add native price facet handling (#700)
    • Branding Logo Upsell (#705)
    • Better UX and copy on Analytics overview page (#712)
    • Use factory to create new AlgoliaSearch\Client (#722)
    • Add an export button to the indexing queue grid for troubleshooting (#717)
    • Update indexing queue grid collection to add status column for sortability (#718)
    • Add "algoliaBundle" as parameter for instant search hooks (#725)
    • Encode search query sent to the backend from JS (#721)
    • "algolia_pages indexer" emulation restructure and added try/catch for debugging (#728)
    • Show indexer warning when type mismatch between Algolia Products and Price Indexer (#734)
    • Add afterAutocompleteStart hook (#747)
    • Add Max Record Size Limit (#746)
    • Change "let" for "var" in javascript files (#754)

    FIXES

    • Keep ruleContexts when algoliaConfig.areCategoriesInFacets is false (#693)
    • Fix Analytic Overview Update Action (#703)
    • Prevents replicas to be created if InstantSearch Result Page is disabled (#694)
    • Fix customer group prices on grouped products (#726)
    • Pull URLs of correct image types (#727)
    • Fix SVG icons (#738)
    • Fix suggestions functionality when "All Departments" string is translated (#744)
    • Fix Searchable attributes / Unretrieveable attributes configuration not saving correct scope (#750)
    Source code(tar.gz)
    Source code(zip)
  • 1.10.0(Feb 20, 2019)

    FEATURES

    • Landing Page Builder (#661, #687)
      • Feature to let you build dynamic merchandised landing pages based on Algolia results
    • Products are reindex when catalog rule is applied (#666)
      • The extension is now subscribed to to changes in price index
    • Extension's documentation was moved to official Algolia documentation
      • Links inside the extension was changed (#686)

    UPDATES

    • Updated Reindex SKU form (#657)
      • Improved try/catches to allow some store views to continue when one of them doesn't qualify
      • Updated store name to show from which website/store group/store view
      • Updated global attributes to not include store since it is not necessary
    • Updated minimal version of PHP API client in Composer.json to meet extension's dependencies (#671)
    • Optimized fetch of child products during reindex of a configurable product (#664)
      • Improves performance - the indexing time of a configurable product dropped by 60%
    • Optimized indexing queue settings (#665)
      • The biggest overhead is caused by SQL query to fetch products for a single job
      • We lowered the number of jobs to run and increased number of processed products, which reduces the overhead of SQL query
    • Refactored setSettings method (#675) - BC Break
      • Set settings functionality was moved from Helper\Data class to newly created Model\IndicesConfigurator class
      • Added more information to logging to better understand what settings are pushed to Algolia
    • Methods in Helper\ConfigHelper class now returns correct types from all its methods

    FIXES

    • Fixed IE11 (ES6) compatibility of the extension (#670, #678, #683)
    • Fixed displaying of product count in categories in autocomplete menu (#672)
    • Fixed issue when it was not possible to select more than 2 attribute values for back-end filtering (#669)
    • Fixed failing Visual Category Merchandising tool, when the name of the default store was different from default (#674)
    • Fixed failing Prevent Backend Rendering feature, when no user-agent was specified in headers (#680)
    • Fixed failing count(null) call in Category indexer on newer PHP versions (#681)
    Source code(tar.gz)
    Source code(zip)
Owner
Algolia
Open source tools for building search. Learn more at community.algolia.com
Algolia
Analyzer of PHP code to search issues with deprecated functionality in newer interpreter versions.

PhpDeprecationDetector PhpDeprecationDetector - analyzer of PHP code to search usages of deprecated functionality in newer interpreter versions - depr

Sergey 312 Dec 26, 2022
Analyzer of PHP code to search issues with deprecated functionality in newer interpreter versions.

PhpDeprecationDetector PhpDeprecationDetector - analyzer of PHP code to search usages of deprecated functionality in newer interpreter versions - depr

Sergey 312 Dec 26, 2022
[ONLY Magento 2.0.x Compatible] Code samples for Magento developers

Synopsis This project is a collection of samples to demonstrate technologies introduced in Magento 2. You will find the most simple extension along wi

Magento 58 Dec 26, 2022
Search faster into Magento DevDocs and Magento StackExchange! 🔍⚡️

VS Code - Magento DevSearch Search faster into Magento DevDocs and Magento StackExchange! ?? ⚡️ Magento DevSearch is a VS Code extension that allows y

Rafael Corrêa Gomes 12 Oct 18, 2022
search non profitable charity or organization through api search

Non Profile Charity Search Search non profitable organization or get the details of an organization Installation Require the package using composer: c

Touhidur Rahman 5 Jan 20, 2022
Nova Search is an open source search engine developed by the Artado Project.

Loli Search Loli Search açık kaynak kodlu bir arama motorudur ve yalnızca kendi sonuçlarını değil, diğer arama motorlarının sonuçlarını da göstermekte

Artado Project 10 Jul 22, 2022
Doogle is a search engine and web crawler which can search indexed websites and images

Doogle Doogle is a search engine and web crawler which can search indexed websites and images, and then use keywords to be searched later. Written pri

Zepher Ashe 9 Jan 1, 2023
A WordPress package to nudge users to upgrade their software versions (starting with PHP)

whip A WordPress package to nudge users to upgrade their software versions (starting with PHP) Requirements The following versions of PHP are supporte

Yoast 71 Oct 18, 2022
Checks prefer-lowest installation for actually defined min versions in composer.json

Composer Prefer Lowest Validator This validator will strictly compare the specified minimum versions of your composer.json with the ones actually used

Mark Scherer 17 Aug 7, 2022
Automatically delete old SiteTree page versions from Silverstripe

Version truncator for Silverstripe An extension for Silverstripe to automatically delete old versioned DataObject records from your database when a re

Ralph Slooten 35 Dec 7, 2022
A tool that can be used to verify BC breaks between two versions of a PHP library.

Roave Backward Compatibility Check A tool that can be used to verify BC breaks between two versions of a PHP library. Pre-requisites/assumptions Your

Roave, LLC 530 Dec 27, 2022
This project backports features found in the latest PHP versions and provides compatibility layers for some extensions and functions

This project backports features found in the latest PHP versions and provides compatibility layers for some extensions and functions. It is intended to be used when portability across PHP versions and extensions is desired.

Symfony 2.2k Dec 29, 2022
A MCPE server software that backporting new Minecraft: Bedrock Edition to older PocketMine versions with better stability and performance.

CoarseMC is a server software that backports new Minecraft: Bedrock Edition versions to older PocketMine versions with better stability and performance, while retaining as many features from the new PocketMine-MP versions as possible.

null 5 May 21, 2022
A high-performance license server system service for creating and managing products, major versions, and software licenses for the purpose of selling installable software products.

A high-performance license server system service for creating and managing products, major versions, and software licenses for the purpose of selling installable software products. Comes with a SDK and command-line tool. Works anywhere that PHP runs.

CubicleSoft 32 Dec 5, 2022
A tool that allows to quickly export data from Magento 1 and Magento 2 store and import it back into Magento 2

Simple Import / Export tool A tool that allows to quickly export data from Magento 1 and Magento 2 store and import it back into Magento 2. Table data

EcomDev B.V. 51 Dec 5, 2022
Smile ElasticSuite - Magento 2 merchandising and search engine built on ElasticSearch

News ⚠️ Magento versions compatibility : Due to several changes in Magento 2.4.0, we cannot ensure compatibility between ElasticSuite <2.10 and Magent

Smile - Open Source Solutions 724 Dec 30, 2022
Magento 2 Module for Search Engine Optimization

Magento 2 Search Engine Optimization Magento 2 Module to Improve Search Engine Optimization (SEO) on your Magento site. Installation Install the modul

Stämpfli AG 100 Oct 7, 2022