E-Com Plus Search Engine
UMD JS lib to handle products search for E-Com Plus stores
Usage
The @ecomplus/search-engine
package is a wrapper for E-Com Plus Search API, can be used to handle a full featured products search system, from simple items search to applying multiple filters and aggregations.
It's available for both Node.js and browser environments.
Example
import EcomSearch from '@ecomplus/search-engine'
const search = new EcomSearch()
search.setSearchTerm('smartphone').fetch()
.then(result => {
search.getItems().forEach(item => {
console.log(item.name)
})
})
.catch(error => {
console.error(error)
if (error.response) {
console.log(error.response)
}
})
Customize search query before fetch
import EcomSearch from '@ecomplus/search-engine'
EcomSearch.dslMiddlewares.push((dsl) => {
dsl.query.bool.filter.push({
terms: {
channel_id: [123]
}
})
})
Installation
It may require and doesn't include core-js
(optional) and @ecomplus/utils
(peer dependency).
Webpack
npm i --save core-js @ecomplus/utils @ecomplus/search-engine
Node.js
npm i --save @ecomplus/utils @ecomplus/search-engine
CDN
<script src="https://cdn.jsdelivr.net/npm/@ecomplus/search-engine/dist/ecom-search.var.min.js"></script>
When importing from CDN, _.cloneDeep
, _.merge
, ecomUtils
and ecomClient
libraries must be included separately and available on window scope.