zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    二分类实现多分类
    目标检测(三) Fast R-CNN
    目标检测(二) SPPNet
    目标检测(一) R-CNN
    超参数调优
    支持向量机 SVM
    LDA 线性判别分析
    分类
    特征选择
    集成学习-Adaboost 参数选择
  • 原文地址:https://www.cnblogs.com/momoyan/p/9127952.html
Copyright © 2011-2022 走看看