lua-resty-elasticsearch

OpenResty / ngx_lua 的 Elasticsearch 客户端。

$ opm get tomas/lua-resty-elasticsearch

lua-resty-elasticsearch

用于 OpenResty / ngx_lua 的 Elasticsearch 客户端。

需求

lua-resty-http

API

摘要

    lua_package_path "/path/to/lua-resty-http,lua-resty-elasticsearch/lib/?.lua;;";
    
    server {
        location /test_es {
            content_by_lua '
                local cjson = require "cjson"
                local elasticsearch = require "resty.elasticsearch"
                local es = elasticsearch:new({"http://localhost:9200"})
    
                local data, err = es:info()
                if not data then
                    ngx.say("info err: ", err)
                else
                    ngx.say(cjson.encode(data))
                end
                ngx.say("---------------------------")
    
                local body = {query={match_all={}}}
                local data, err = es:search({doc_type="products"})
                if not data then
                    ngx.say("search err: ", err)
                else
                    ngx.say(cjson.encode(data))
                end
                ngx.say("---------------------------")
    
                local data, err = es.cat:health()
                if not data then
                    ngx.say("cat health err: ", err)
                else
                    ngx.say(data)
                end
            ';
        }
    }

new

语法: es = elasticsearch:new()

创建 Elasticsearch 对象。

ping

语法: ok, err = es:ping()

如果集群已启动,则返回 True,否则返回 False。

info

语法: data, err = es:info()

获取当前集群的基本信息。

语法: data, err = es:search{index="index", doc_type="user", body={query={match_all={}}}}

执行搜索查询并获取与查询匹配的搜索结果。

版权和许可

本模块采用 2 条款 BSD 许可证授权。

版权所有 (c) 2015-2016,由 bells <bellszhu@gmail.com>

保留所有权利。

在满足以下条件的情况下,允许以源代码和二进制形式重新分发和使用,无论是否修改。

  • 源代码的重新分发必须保留上述版权声明、此条件列表和以下免责声明。

  • 二进制形式的重新分发必须在随分发提供的文档和/或其他材料中复制上述版权声明、此条件列表和以下免责声明。

本软件由版权持有人和贡献者“按原样”提供,并且不提供任何明示或暗示的保证,包括但不限于适销性和特定用途适用性的暗示保证。在任何情况下,版权持有人或贡献者均不对任何直接、间接、附带、特殊、惩罚性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润损失;或业务中断),无论其原因如何以及责任理论如何,无论是基于合同、严格责任或侵权行为(包括疏忽或其他原因)引起的,即使已被告知此类损害的可能性,也概不负责。

作者

Bells (bellszhu@gmail.com)

许可证

2bsd

依赖项

pintsized/lua-resty-http >= 0.11, luajit

版本