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

发布时间:2019-06-20 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Elasticsearch.js 发布 —— 在Node.js和浏览器中调用Elasticsearch脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

继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上。


撰文 SegmentFault

脚本宝典总结

以上是脚本宝典为你收集整理的Elasticsearch.js 发布 —— 在Node.js和浏览器中调用Elasticsearch全部内容,希望文章能够帮你解决Elasticsearch.js 发布 —— 在Node.js和浏览器中调用Elasticsearch所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: