Elasticsearch学习一

来源:互联网 发布:2016年e道商城网络传销 编辑:程序博客网 时间:2024/05/22 18:27
  1. 介绍
    Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。
  2. 安装
    • 安装Elasticsearch唯一的要求是安装官方新版的Java
    • 下载地址:https://www.elastic.co/downloads/elasticsearch
    • 解压,进去目录启动./bin/elasticsearch
  3. 运行Elasticsearch
    • ./bin/elasticsearch启动
    • 如果想在后台以守护进程模式运行,添加-d参数。
    • 预览效果http://localhost:9200/?pretty
{   "status": 200,   "name": "Shrunken Bones",   "version": {      "number": "1.4.0",      "lucene_version": "4.10"   },   "tagline": "You Know, for Search"}
  1. 简单使用

**

基于HTTP协议,以JSON为数据交互格式的RESTful API

**

    向Elasticsearch发出的请求的组成部分与其它普通的HTTP请求是一样的:

curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'

- VERB HTTP方法:GET, POST, PUT, HEAD, DELETE- PROTOCOL http或者https协议(只有在Elasticsearch前面有https代理的时候可用)- HOST Elasticsearch集群中的任何一个节点的主机名,如果是在本地的节点,那么就叫localhost- PORT Elasticsearch HTTP服务所在的端口,默认为9200- PATH API路径(例如_count将返回集群中文档的数量),PATH可以包含多个组件,例如_cluster/stats或者_nodes/stats/jvm- QUERY_STRING 一些可选的查询请求参数,例如?pretty参数将使请求返回更加美观易读的JSON数据- BODY 一个JSON格式的请求主体(如果请求需要的话)

举例说明,为了计算集群中的文档数量,我们可以这样做:

curl -XGET 'http://localhost:9200/_count?pretty' -d '{    "query": {        "match_all": {}    }}

Elasticsearch返回一个类似200 OK的HTTP状态码和JSON格式的响应主体(除了HEAD请求)。上面的请求会得到如下的JSON格式的响应主体:

{    "count" : 0,    "_shards" : {        "total" : 5,        "successful" : 5,        "failed" : 0    }}
  1. 索引
    在Elasticsearch中,文档归属于一种类型(type),而这些类型存在于索引(index)中,我们可以画一些简单的对比图来类比传统关系型数据库:
Relational DB -> Databases -> Tables -> Rows -> ColumnsElasticsearch -> Indices   -> Types  -> Documents -> Fields
0 0
原创粉丝点击