Elasticsearch.js 发布 —— 在Node.js和浏览器中调用Elasticsearch
继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
Elasticsearch.js 发布 —— 在Node.js和浏览器中调用Elasticsearch的更多相关文章
- Elasticsearch.js 发布 —— 在Node.js和浏览器中调用Elasticsearch(1)
继PHP.Ruby.Python和Perl之后,Elasticsearch最近发布了Elasticsearch.js,Elasticsearch的JavaScript客户端库.可以在Node.js和浏 ...
- Node.js学习笔记——Node.js开发Web后台服务
一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...
- Node.js入门:Node.js&NPM的安装与配置
Node.js安装与配置 Node.js已经诞生两年有余,由于一直处于快速开发中,过去的一些安装配置介绍多数针对0.4.x版本而言的,并非适合最新的0.6.x的版本情况了,对此,我们将在0. ...
- 基于 Koa.js 平台的 Node.js web 快速开发框架KoaHub.js demo 可安装
KoaHub.js demo KoaHub.js KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Fu ...
- KoaHub.js是基于 Koa.js 平台的 Node.js web 快速开发框架
koahubjs KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Function, Class, A ...
- KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架之koahub-yilianyun
koahub-yilianyun 微信易联云打印机接口 koahub-yilianyun易联云打印机node接口 Installation $ npm install koahub-yilianyun ...
- js判断是否是在微信浏览器中打开
// js判断是否是在微信浏览器中打开 function is_weixn(){ var ua = navigator.userAgent.toLowerCase(); if(ua.match(/Mi ...
- 【Node.js】利用node.js搭建服务器并访问静态网页
node.js是一门服务端的语言,下面讲讲如何利用node.js提供给我们的api来搭建服务器,并且访问静态网页 项目结构如下 ------------------------------------ ...
- 【Node.js】3.Node.js和commomJS规范
来源:http://javascript.ruanyifeng.com/ 目录 概述 module对象 module.exports属性 exports变量 AMD规范与CommonJS规范的兼容性 ...
随机推荐
- time函数
time函数 time #include<time.h> time_t time(time_t *t); typdef long int time_t; time() returns th ...
- ASP.NET MVC4 权限验证
在ASP.NET MVC4 中继承ActionFilterAttribute 类,重写OnActionExecuting方法 /// <summary> /// 权限拦截 /// < ...
- php -- php的事务处理
MYSQL的事务处理主要有两种方法. 1.用begin,rollback,commit来实现 begin 开始一个事务 rollback 事务回滚 commit 事务确认 2.直接用set来改变mys ...
- 《linux系统及其编程》实验课记录(四)
实验4:组织目录和文件 实验目标: 熟悉几个基本的操作系统文件和目录的命令的功能.语法和用法, 整理出一个更有条理的主目录,每个文件都位于恰当的子目录. 实验背景: 你的主目录中已经积压了一些文件,你 ...
- 线程本地变更,即ThreadLocal-->Spring事务管理
我们知道Spring通过各种模板类降低了开发者使用各种数据持久技术的难度.这些模板类都是线程安全的,也就是说,多个DAO可以复用同一个模板实例而不会发生冲突.我们使用模板类访问底层数据,根据持久化技术 ...
- hdu 4240在(最大流)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4240 思路:题意真的有点难理解:在城市A->B之间通过所有路径一小时之内能通过最大的车辆(Max ...
- windows 2003 发布遇到问题---分析器错误消息: 未能加载类型“YWPT.MvcApplication”。
问题如下: “/”应用程序中的服务器错误. ------------------------------------------------------------------------------ ...
- MySQL------代码1024,can't get hostname for your address解决方法
1.hosts文件问题 进入C:\Windows\System32\drivers\etc\hosts 查看里面是否包含: # 127.0.0.1 localhost 没有则添加,再重启MySQL服务 ...
- PE导入表分析
A.dll 导入 B.dll 导出函数 A.dll 表内容 这个结构指向的B导出函数的地址 Hook这个位置 等同于 Hook B.dll导出函数
- LeetCode 笔记系列16.2 Minimum Window Substring [从O(N*M), O(NlogM)到O(N),人生就是一场不停的战斗]
题目:Given a string S and a string T, find the minimum window in S which will contain all the characte ...