Nanoscale Parts Manufacturing

    moleculer-elasticsearch
    TypeScript icon, indicating that this package has built-in type declarations

    1.1.8 • Public • Published

    Moleculer logo

    moleculer-elasticsearch NPM version

    Elasticsearch service for Moleculer.

    Features

    • support 5.4 API
    • straightforward actions & params

    Install

    $ npm install moleculer-elasticsearch --save

    Usage

    Running Elasticsearch server for development

     $ docker run -p 9200:9200 -e "http.host=0.0.0.0" -e "transport.host=127.0.0.1" docker.elastic.co/elasticsearch/elasticsearch:5.5.0

    More information about Elasticsearch Docker image.

    Start service

    "use strict";
    
    let { ServiceBroker } 	= require("moleculer");
    let ESService 			= require("moleculer-elasticsearch");
    
    // Create broker
    let broker = new ServiceBroker({ logger: console });
    
    // Create service
    broker.createService({
        mixins: [ESService],
        settings: {
            elasticsearch: {
                node: "http://elastic:changeme@<docker-hostname>:9200",
            }
        }
    });
    
    broker.start()
    
        // Create a document
        .then(() => broker.call("elasticsearch.create", { 
            index: "demo", 
            id: "1", 
            body: { name: "John Doe", age: 36 }
        }))
    
        .delay(500)
    
        // Search documents
        .then(() => broker.call("elasticsearch.search", { 
            body: {
                query: {
                    match: {
                        name: "john"
                    }
                }
            } 
        }).then(res => console.log("Hits:", res.hits.hits)))
        
        // Remove document
        .then(() => broker.call("elasticsearch.delete", { index: "demo", id: "1" }))

    Settings

    Property Type Default Description
    elasticsearch Object required Elasticsearch constructor options. More options
    elasticsearch.node String required Host

    Actions

    bulk

    Perform many index/delete operations in a single API call.

    More info: https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html#api-bulk

    Parameters

    Property Type Default Description
    index String - Default index for items which don’t provide one
    body Array required The request body, as either an array of objects or new-line delimited JSON objects

    Results

    Type: Object

    Elasticsearch response object

    create

    Adds a typed JSON document in a specific index, making it searchable. If a document with the same index, type, and id already exists, an error will occur.

    More info: https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html#api-create

    Parameters

    Property Type Default Description
    index String required The name of the index
    id String required Document ID
    body Object required The request body, as either JSON or a JSON serializable object.

    Results

    Type: Object

    Elasticsearch response object

    get

    Get a typed JSON document from the index based on its id.

    More info: https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html#api-get

    Parameters

    Property Type Default Description
    index String required The name of the index
    id String - Document ID

    Results

    Type: Object

    Found document

    update

    Update (reindex) the document with the specified unique id.

    More info: https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html#api-update

    Parameters

    Property Type Default Description
    index String required The name of the index
    id String required Document ID
    body Object required The request body, as either JSON or a JSON serializable object.

    Results

    Type: Object

    Elasticsearch response object

    delete

    Delete the document with the specified unique id.

    More info: https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html#api-delete

    Parameters

    Property Type Default Description
    index String required The name of the index
    id String required Document ID

    Results

    Type: Object

    Elasticsearch response object

    search

    Return documents matching a query, aggregations/facets, highlighted snippets, suggestions, and more.

    More info: https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html#api-search

    Parameters

    Property Type Default Description
    index String, Array.<String> required A comma-separated list of index names to search; use _all or empty string to perform the operation on all indices
    q String - Query in the Lucene query string syntax.
    body Object - The request body, as either JSON or a JSON serializable object.

    Results

    Type: Object

    Elasticsearch response object

    count

    Get the number of documents for the cluster, index, type, or a query.

    More info: https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html#api-count

    Parameters

    Property Type Default Description
    index String, Array.<String> required A comma-separated list of indices to restrict the results.
    q String - Query in the Lucene query string syntax.
    body Object - The request body, as either JSON or a JSON serializable object.

    Results

    Type: Object

    Elasticsearch response object

    call

    Call any Elasticsearch API

    More info: https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html

    Parameters

    Property Type Default Description
    api String required The name of the API
    params Object required Params of request

    Results

    Type: Object

    Elasticsearch response

    Methods

    Test

    $ npm test
    

    In development with watching

    $ npm run ci
    

    License

    The project is available under the MIT license.

    Contact

    Copyright (c) 2016-2019 MoleculerJS

    @moleculerjs @MoleculerJS

    Install

    npm i moleculer-elasticsearch

    DownloadsWeekly Downloads

    557

    Version

    1.1.8

    License

    MIT

    Unpacked Size

    77.5 kB

    Total Files

    9

    Last publish

    Collaborators

    • icebob