@elastic/enterprise-search-node

Elastic Enterprise Search client for Node.js

This package has been deprecated and replaced by @elastic/workplace-search-node
Last updated 8 months ago by yakhinvadim .
Apache-2.0 · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @elastic/enterprise-search-node 
SYNC missed versions from official npm registry.

Elastic Enterprise Search Logo

CircleCI build

A first-party Node.js client for Elastic Enterprise Search.

Contents


Getting started ????

With npm:

npm install @elastic/enterprise-search-node

or clone locally:

git clone git@github.com:elastic/enterprise-search-node.git
cd enterprise-search-node
npm install

Usage

Create a new instance of the Elastic Enterprise Search Client with your access token:

const EnterpriseSearchClient = require('@elastic/enterprise-search-node')
const accessToken = '' // your access token
const client = new EnterpriseSearchClient(accessToken)

Change API endpoint

const client = new EnterpriseSearchClient(
  accessToken,
  'https://your-server.example.com/api/v1/ent'
)

Indexing Documents

This example shows how to use the indexDocuments method:

const contentSourceKey = '' // your content source key
const documents = [
  {
    id: 1234,
    title: '5 Tips On Finding A Mentor',
    body:
      'The difference between a budding entrepreneur who merely shows promise and one who is already enjoying some success often comes down to mentoring.',
    url: 'https://www.shopify.com/content/5-tips-on-finding-a-mentor'
  },
  {
    id: 1235,
    title: 'How to Profit from Your Passions',
    body:
      'Want to know the secret to starting a successful business? Find a void and fill it.',
    url: 'https://www.shopify.com/content/how-to-profit-from-your-passions'
  }
]

client
  .indexDocuments(contentSourceKey, documents)
  .then(results => {
    // handle results
  })
  .catch(error => {
    // handle error
  })

Destroying Documents

const contentSourceKey = '' // your content source key
const documentIds = [1234, 1235]

client
  .destroyDocuments(contentSourceKey, documentIds)
  .then(destroyDocumentsResults => {
    // handle destroy documents results
  })
  .catch(error => {
    // handle error
  })

Listing all permissions

const contentSourceKey = '' // your content source key
const pageParams = { currentPage: 2, pageSize: 20 } // optional argument

client
  .listAllPermissions(contentSourceKey, pageParams)
  .then(response => {
    // handle response
  })
  .catch(error => {
    // handle error
  })

Getting user permissions

const contentSourceKey = '' // your content source key
const user = 'enterprise_search' // username

client
  .getUserPermissions(contentSourceKey, user)
  .then(response => {
    // handle response
  })
  .catch(error => {
    // handle error
  })

Updating user permissions

const contentSourceKey = '' // your content source key
const user = 'enterprise_search' // username
const permissions = { permissions: ['permission1', 'permission2'] } // permissions to assign to the user

client
  .updateUserPermissions(contentSourceKey, user, permissions)
  .then(response => {
    // handle response
  })
  .catch(error => {
    // handle error
  })

Adding user permissions

const contentSourceKey = '' // your content source key
const user = 'enterprise_search' // username
const permissions = { permissions: ['permission2'] } // permissions to add to the user

client
  .addUserPermissions(contentSourceKey, user, permissions)
  .then(response => {
    // handle response
  })
  .catch(error => {
    // handle error
  })

Remove user permissions

const contentSourceKey = '' // your content source key
const user = 'enterprise_search' // username
const permissions = { permissions: ['permission2'] } //permissions to remove from the user

client
  .removeUserPermissions(contentSourceKey, user, permissions)
  .then(response => {
    // handle response
  })
  .catch(error => {
    // handle error
  })

Running tests

Run tests via npm:

$ npm test

FAQ ????

Where do I report issues with the client?

If something is not working as expected, please open an issue.

Contribute ????

We welcome contributors to the project. Before you begin, a couple notes...

License ????

Apache 2.0 © Elastic

Thank you to all the contributors!

Current Tags

  • 0.3.0                                ...           latest (8 months ago)

3 Versions

  • 0.3.0 [deprecated]           ...           8 months ago
  • 0.2.0 [deprecated]           ...           9 months ago
  • 0.1.0 [deprecated]           ...           10 months ago

Copyright 2014 - 2016 © taobao.org |