Elasticsearch.js 发布 —— 在Node.js和浏览器中调用Elasticsearch(1)

继PHP、Ruby、Python和Perl之后,Elasticsearch最近发布了Elasticsearch.js,Elasticsearch的JavaScript客户端库。可以在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上。

本文转载自:https://segmentfault.com/a/1190000000369962

猜你喜欢

转载自www.cnblogs.com/momoyan/p/9128010.html
今日推荐