Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

elasticitems

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

elasticitems

Faceted search client on top of Elasticsearch 7.x

  • 2.0.15
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

ElasticItems

Elasticsearch 7.x client for JS with faceted search, custom features and simple interface

Features

  • faceted search
  • full text
  • pagination
  • sorting

Getting Started

npm install elasticitems
const elasticitems = require('elasticitems')(es_config, search_config);
elasticitems.search()
.then(result => {
  console.log(result);
})

API

var elasticitems = ElasticItems(es_config, [search_config])

es_config

The first es_config is elasticsearch configuration object and contains values like host, index or type.

search_config

Responsible for defining global configuration.

  • aggregations filters configuration i.e. for tags, actors, colors, etc. Responsible for generating facets.

  • sortings you can configure different sortings like tags_asc, tags_desc with options and later use it with one key.

elasticitems.search(options, [search_config])

options
  • per_page amount of items per page.

  • page page number - used for pagination.

  • query used for full text search.

  • operator search operator and and or (default). It works with query parameter

  • sort used for sorting. one of sortings key

  • filters filtering items based on specific aggregations i.e. {tags: ['drama' , 'historical']}

  • query_string i.e. "brand:Audi OR brand:Mercedes"

  • facets_names make faceted search only for specific fields i.e. ['tags', 'genres']

  • fields search only in specifc fields i.e. ['name', 'description']. Missing parameter means search in all fields

  • ids search by ids i.e. ['1', '2', '3']

  • exclude_ids exclude ids from search i.e. ['1', '2', '3']

elasticitems.similar(id, options)

Show similar items based on collaborative filtering

options
  • fields i.e ['tags'].

elasticitems.aggregation(options)

It returns full list of filters for specific aggregation

options
  • name aggregation name

  • per_page filters per page

  • size how much load into memory (for pagination)

  • page page number

  • sort responsible for sorting mechanism. It can be _count or _term

  • order responsible for an order. It can be asc or desc

  • filters filter this aggregation through another aggregations (facets)

  • aggregation_query used for quering filters. It's not full text search

  • query search through items

  • query_string search through items by query string i.e. (category:Garden and color:red)

elasticitems.get(id)

Returns found record otherwise throw an error

elasticitems.getBy(key, value)

Returns record based on key and value

elasticitems.add(data, [options])

Add a new object into index. Provide your own id if you don't want it auto-generated

elasticitems.partialUpdate(id, data, [options])

Updates object in index

elasticitems.delete(id)

Delete object from index

Notes

  • Full text search does not work on keyword type because this type is not tokenized. keyword type is great for faceted fields

Tests

npm test

FAQs

Package last updated on 08 Jun 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc