Skip to content

ecomplus/search-engine

Repository files navigation

E-Com Plus Search Engine

Publish CodeFactor npm version License MIT

UMD JS lib to handle products search for E-Com Plus stores

CHANGELOG

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.