资讯专栏INFORMATION COLUMN

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

时飞 / 1963人阅读

摘要:继和之后,最近发布了,的客户端库。可以在和浏览器中使用。安装模块在项目中使用,只需用安装浏览器为现代浏览器准备了构建,可从此处取得。获取状态,参数可选,可以只传递一个回调建立索引搜索文档以许可证发布,源代码在上。

继PHP、Ruby、Python和Perl之后,Elasticsearch最近发布了Elasticsearch.js,Elasticsearch的JavaScript客户端库。可以在Node.js和浏览器中使用。

安装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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/87452.html

相关文章

  • 使用Node,VueElasticSearch构建实时搜索引擎

    摘要:建立在之上,它是一个高性能的文本搜索引擎库。目录在今天的课程中,您将学习如何使用,和构建实时搜索引擎。接下来,您需要安装实时搜索引擎所需的库。这是的官方库,它是实时搜索的引擎。主要的搜索查询包含在查询对象中。但是,可以从客户端进行搜索。 (译者注:相关阅读:node.js,vue.js,Elasticsearch) 介绍 Elasticsearch是一个分布式的RESTful搜索和分析...

    jerryloveemily 评论0 收藏0
  • 使用Node,VueElasticSearch构建实时搜索引擎

    摘要:建立在之上,它是一个高性能的文本搜索引擎库。目录在今天的课程中,您将学习如何使用,和构建实时搜索引擎。接下来,您需要安装实时搜索引擎所需的库。这是的官方库,它是实时搜索的引擎。主要的搜索查询包含在查询对象中。但是,可以从客户端进行搜索。 (译者注:相关阅读:node.js,vue.js,Elasticsearch) 介绍 Elasticsearch是一个分布式的RESTful搜索和分析...

    GHOST_349178 评论0 收藏0
  • 使用Node,VueElasticSearch构建实时搜索引擎

    摘要:建立在之上,它是一个高性能的文本搜索引擎库。目录在今天的课程中,您将学习如何使用,和构建实时搜索引擎。接下来,您需要安装实时搜索引擎所需的库。这是的官方库,它是实时搜索的引擎。主要的搜索查询包含在查询对象中。但是,可以从客户端进行搜索。 (译者注:相关阅读:node.js,vue.js,Elasticsearch) 介绍 Elasticsearch是一个分布式的RESTful搜索和分析...

    JerryC 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<