Elasticsearch.js 宣布 —— 在Node.js和浏览器中挪用Elasticsearch

继PHP、Ruby、Python和Perl以后,Elasticsearch近来宣布了Elasticsearch.js,Elasticsearch的JavaScript客户端库。能够在Node.js和浏览器中运用。

《Elasticsearch.js 宣布 —— 在Node.js和浏览器中挪用Elasticsearch》

装置node.js模块

在Node.js项目中运用,只需用npm装置:

浏览器

Elasticsearch.js为当代浏览器预备了构建,可从此处获得。

下载后解压缩,然后挑选合适你的文件:

  • elasticsearch.jquery.js —— 假如你运用jQuery
  • elasticsearch.angual.js —— 假如你运用Angular
  • elasticsearch.js —— 其他状况

设置

竖立一个elasticsearch.Client的新实例:

var elasticsearch = require('elasticsearch');

// 运用默许设置衔接到 localhost:9200
var client = new elasticsearch.Client();

// 衔接两个节点,负载平衡运用round-robin算法
var client = elasticsearch.Client({
  hosts: [
    'elasticsearch1:9200',
    'elasticsearch2:9200'
  ]
});

在浏览器中设置

Client组织器接收的参数是一样的,然则差别的构建接见组织器的体式格局有所差别:

// elasticsearch.js 将 elasticsearch 定名空间到场窗口
var client = elasticsearch.Client({ ... });

// elasticsearch.jquery.js 将 es 定名空间到场 jQuery 对象
var client = jQuery.es.Client({ ... });

// elasticsearch.angular.js 竖立 elasticsearch 模块
// 供应 esFactory
var app = angular.module('app', ['elasticsearch']);
app.service('es', function (esFactory) {
  return esFactory({ ... });
});

运用client实例挪用API

竖立了实例后挪用API就很简朴了。

// 猎取状况,参数可选,能够只通报一个回调
client.cluster.health(function (err, resp) {
  if (err) {
    console.error(err.message);
  } else {
    console.dir(resp);
  }
});

// 竖立索引
client.index({
  index: 'blog',
  type: 'post',
  id: 1,
  body: {
    title: 'JavaScript Everywhere!',
    content: 'It all started when...',
    date: '2013-12-17'
  }
}, function (err, resp) {
  // ...
});

// 搜刮文档 
client.search({
  index: 'users',
  size: 50,
  body: {
    query: {
      match: {
        profile: 'elasticsearch'
      }
    }
  }
}).then(function (resp) {
  var hits = resp.body.hits;
});

Elasticsearch.js以Apache 2.0许可证宣布,源代码在Github上。

撰文 SegmentFault

    原文作者:weakish
    原文地址: https://segmentfault.com/a/1190000000369962
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞