Advanced, efficient, lightning-fast search with support for fuzzy matching, synonyms, curation, analytics and more
Updates and support
Save 20%
€96.00
/ month
billed annually
Updates and support
€120.00
/ month
Support by
Support languages
en
Integration type
Paid
Category
Search
Compatible with
^2.0.0||^3.0.0
Latest version
2.1.1
Last published
Jan 7, 2025
Changelog
2.1.1 (2025-01-07)
- Fix “synonyms” typo
- Fix issue with sortBy on external index
- Fix “Query string exceeds max allowed length of 4000” when removing synthetic variants
2.1.0 (2024-12-10)
- Fix indexing issue with multiple channels
- Add zero as fallback for totalItems
- Add
sortBy
parameter for external indexes - Fix name of external index in filterBy param
- Add link to product detail from search index result
- Updated & expanded documentation
2.0.2 (2024-07-18)
- Update compatibility range to include v3+
2.0.1 (2024-07-11)
- Fix package name in readme
2.0.0 (2024-07-11)
- Make the order of returned facet values deterministic (values with the same count are sorted alphabetically)
- Fix SqlAnalyticsStrategy for mysql/mariaDB
- Make SqlAnalyticsStrategy result order deterministic
BREAKING CHANGE: The plugin now requires a valid license key to be passed to the init()
method.
1.6.1 (2024-06-07)
- Fix critical bug with API key generation when the
shopApiKeySecret
is not set (relates to #31) - Do not automatically delete potentially redundant API keys (relates to #31)
- Update supported typesense-js client version to 1.8.2+
1.6.0 (2024-03-11)
- Add
filterBy
support to external indexes. This allows arbitrary Typesense filter expressions to be passed to the external index search. - Implement dynamic query resolvers for external indexes. The plugin will now generate a dedicated query & resolver for each external index, which
means you can directly query a single external index without needing to use the fragment spread syntax required when using the
searchExternal
query. - Fix handling of nullable Geopoint data
1.5.4 (2024-03-04)
- Fix error in Admin UI product index when using a non-nullable object type (e.g.
Geopoint!
)
1.5.3 (2024-02-28)
- Export services
TypesenseService
,SearchIndexService
,AdvancedSearchService
from package bundle. - Fix display of object-type customMappings in Admin UI (fixes vendure-plus-issues/issues/30)
1.5.2 (2024-02-20)
- Change the field type of facets in the Typesense document schema to
string[]
to prevent issues with auto type detection. - Fix e2e tests for input errors to equal error message translation.
- Add error logging for Typesense search results.
1.5.1 (2024-02-13)
- Fix error with loading translation files
1.5.0 (2024-02-12)
- Enhanced faceted search (version 1.3.0) to match the functionality of the Typesense songs example. All facet values are now filtered with the other selected facet values for accurate count in the
facets
argument. If search is refined with additional facet values, previously selected facet values (even with a count of 0) are included in the response. This aids in displaying current selected values in the UI. Use theincludeNullValues
argument to include all facet values with a count of 0. - Introduced i18n service for the advanced-search-plugin. This allows adding new translations without the need to push to vendure/core.
1.4.0 (2024-02-06)
- Feature: Do not create new API keys every time the server is bootstrapped. Fixes #26. To take advantage of this feature you
need to set the new init option
shopApiKeySecret
to a string value. Doing so will define a new custom field on the GlobalSettings entity, which means a migration will be required if you choose to use this feature. If you do not set this option, the plugin will continue to create new API keys on every bootstrap as before. Note: upon first bootstrap with this version, all redundant API keys will be removed. This may cause a noticeable delay if you have thousands of redundant API keys. Subsequent bootstraps will not incur this delay. - Feature: Allow analytics to be disabled by setting the option to
false
- Make indexing more memory efficient by preventing unbounded cache growth
- Improved error handling when indexing
- Support job cancellation for reindexing jobs
1.3.0 (2024-01-31)
- Add
facetsFilter
search input field for an easier facetted search. - Add
facets
argument to thesearch
query. In combination with thefacetsFilter
search input field, this argument returns a more frontend-first response to easily map current selected facets and further refine thesearch
query. - Add
includeNullValues
argument to the newfacets
argument in thesearch
query in order to enable showing facets with zero results. - Fix product index UI error when no customMappings defined
1.2.0 (2024-01-08)
- Add support for
outputFn
in primitive custom mappings - Enable display of custom mappings in product search index component
- Persist product search index settings to local storage
- Improved date range management in search analytics
1.1.1 (2023-11-27)
- Fix compatibility with Vendure v2.1.3+ (“error.no-price-found-for-channel” error)
1.1.0 (2023-10-13)
- Add support for object-type custom mappings
- Export the
TypesenseService
to allow direct interaction with the Typesense client API - Fix bug when reindexing in a non-default channel
1.0.4 (2023-10-06)
- Improve efficiency of first step of reindexing
- Update Typesense client lib to v1.7.1
- Support non-integer custom MoneyStrategy implementations
1.0.3 (2023-09-26)
- Fix publish config (no code changes) as 1.0.2 was not published correctly
1.0.2 (2023-09-25)
- Do not crash on errors connecting to Clickhouse on init
- Improved error logging on updating by product variant
- Include customMapping name in indexing errors
1.0.1 (2023-06-22)
- Revert breaking change from 1.0.0 which removed support for the
facetValueIds
search input field. We will keep support for as long as it is supported by the core DefaultSearchPlugin.
1.0.0 (2023-06-21)
- Update UI for Vendure v2
- Add configurable
aggregationWindowMs
to control the debounce in logging analytics events - Allow new curations to be created directly from the curations screen
- Add search event logs to the admin UI & Admin API
- Fix Typesense trace logs not being displayed
- BREAKING CHANGE: In line with Vendure v2, the
facetValueIds
andfacetValueOperator
arguments have been removed from thesearch
query. Instead, use thefacetValueFilters
argument.
1.0.0-next.1 (2023-05-05)
- Ensure Typesense product collection exists on bootstrap
1.0.0-next.0 (2023-04-21)
- Compatible with Vendure v2.0.0-beta.0+
0.3.0 (2023-03-30)
- Add support for
Geopoint
custom mapping and sorting by distance - Add support for custom Typesense filter_by expressions
- Fix creation of single-term one-way synonyms
- Add permissions to navbar menu items
- Fix error when querying topCollections with curated results (#13)
- Update Typesense client to v1.5.3
0.2.0 (2022-10-13)
- Add support for Typesense v0.23.x
- Add
sortableFields
option to allow customization of sorting - Fix bad import paths to
/src
.ts files - Do not index deleted variants or products
0.1.0 (2022-08-16)
- Fix error when creating product when
isDefaultSortingField
is defined - Fix error when a Facet or FacetValue has been deleted
- Fix error on very large external index search scores
- Add filter to UI synonyms list
- Custom mapping value functions can now be async
- BREAKING CHANGE: The signature for customMapping value functions has changed - it now takes a single object containing
{ ctx, variant, languageCode, injector }
0.0.10 (2022-07-14)
- Fix UI error caused by lack of NgxPagination import
- Add
isDefaultSortingField
to customMappings, to allow the Typesensedefault_sorting_field
to be set. - Fix synonyms & curations being removed when running full search reindex
- Add ability to override the value of any indexed field using
documentOverrides
Get started
Create your first commerce experience with Vendure in less than 2 minutes
Vendure is a registered trademark. Our trademark policy ensures that our brand and products are protected. Feel free to reach out if you have any questions about our trademarks.
Documentation
Newsletter
Get the latest product news and announcements delivered directly to your inbox.