Security News
JavaScript Leaders Demand Oracle Release the JavaScript Trademark
In an open letter, JavaScript community leaders urge Oracle to give up the JavaScript trademark, arguing that it has been effectively abandoned through nonuse.
simple-elasticsearch
Advanced tools
Provides lightweight wrapper around Elasticsearch API.
npm install simple-elasticsearch
Provides wrappers around commonly-used Elasticsearch API endpoints, as well as a generic request()
method that can
be used to execute arbitrary API calls.
See tests for more usage examples.
var client = require('simple-elasticsearch').client.create();
var options = {
host: 'localhost', // default
port: 9200, // default
protocol: 'http', // default
index: 'my_index', // optional - if set, then the core methods don't require an index
to be set in each function call.
auth: { // optional HTTP Basic Auth params.
username: 'username',
password: 'password'
},
logging: { // optional logging
logger: your_logger, // required -- there is no default logger.
level: 'debug', // default
events: ['request', 'response'] // Default events to log.
// 'request': Log the HTTP requests.
// 'response': Log the HTTP responses.
formatters: {request: 'curl'} // Default 'plain'. Available options are 'plain' and 'curl' for now.
// 'curl' formatter logs requests in
// cURL format, which is handy for debugging and
// sharing requests with others.
// TODO: add ability to provide a custom formatter.
}
};
var client = require('simple-elasticsearch').client.create(options);
client.core.index({index: 'my_index', type: 'my_type'}, function(err, result) {});
client.core.index({index: 'my_index', type: 'my_type', id: 'my_id'}, function(err, result) {});
var search = {query: {term: {name: 'foo'}}};
client.core.search({search: search}, function(err, result) {});
client.core.search({index: 'my_index', search: search}, function(err, result) {});
client.core.search({index: 'my_index', type: 'my_type', search: search}, function(err, result, raw) {
// raw is the raw JSON string from Elasticsearch
// result is an object with this structure:
// {
// ids: [/* array of matching doc ids */],
// objects: [/* array of _source doc objects */],
// total: <number of search hits>,
// max_score: <max search score>
// }
});
client.core.get({index: 'my_index', type: 'my_type', id: id}, function(err, doc) {
console.log(doc);
});
client.core.del({index: 'my_index', type: 'my_type', id: id}, function(err, result) {});
var search = {query: {term: {name: 'foo'}}};
client.core.scanSearch({search: search}, function(err, result) {});
client.core.scanSearch({index: 'my_index'}, function(err, result) {});
client.core.scanSearch({index: 'my_index', type: 'my_type'}, function(err, result, raw) {
// raw is the raw JSON string from Elasticsearch
// result is the scroll_id
});
client.core.scrollSearch({scroll_id: 'a_scroll_id_returned_from_scan_search'}, function(err, result, raw) {
// raw is the raw JSON string from Elasticsearch
// result is an object with this structure:
// {
// ids: [/* array of matching doc ids */],
// objects: [/* array of _source doc objects */],
// total: <number of search hits>,
// max_score: <max search score>
// }
});
var options = {number_of_shards: 1};
client.indices.create({index: 'my_index', options: options}, function(err, result) {});
client.indices.del({index: 'my_index'}, function(err, result) {});
client.indices.refresh(function(err, result) {});
client.indices.refresh({index: 'my_index'}, function(err, result) {});
client.indices.refresh({indices: ['my_index1', 'my_index2']}, function(err, result) {});
client.indices.status(function(err, result) {});
client.indices.status({index: 'my_index'}, function(err, result) {});
client.indices.status({indices: ['my_index1', 'my_index2']}, function(err, result) {});
TBD, but you can use the client.request()
method directly in the meantime.
To run tests, first run:
npm install
Run the tests and JShint:
make
If you would like to contribute to the project, please fork it and send us a pull request. Please add tests
for any new features or bug fixes. Also run make
before submitting the pull request.
node-simple-elasticsearch licensed under the MIT license. See LICENSE file.
FAQs
Minimalistic Elasticsearch client
The npm package simple-elasticsearch receives a total of 1 weekly downloads. As such, simple-elasticsearch popularity was classified as not popular.
We found that simple-elasticsearch demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
In an open letter, JavaScript community leaders urge Oracle to give up the JavaScript trademark, arguing that it has been effectively abandoned through nonuse.
Security News
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
Security News
Floating dependency ranges in npm can introduce instability and security risks into your project by allowing unverified or incompatible versions to be installed automatically, leading to unpredictable behavior and potential conflicts.