一. 安装插件

  1. Marvel集群管理

    root@lj-ThinkPad-L460:~# sudo bin/plugin install license
    root@lj-ThinkPad-L460:~# sudo bin/plugin install marvel-agent 访问 http://localhost:9200/_plugin/marvel/
  2. Kibana 4.5.1可视化

    root@lj-ThinkPad-L460:~# wget https://download.elastic.co/kibana/kibana/kibana-4.5.1-linux-x64.tar.gz
    root@lj-ThinkPad-L460:~# vim config/kibana.yml
    Set the elasticsearch.url
    root@lj-ThinkPad-L460:~# ./bin/kibana 运行 访问 http://yourhost.com:5601
  3. 启动es

    ./elasticsearch --cluster.name my_cluster_name --node.name my_node_name

二.快速入门

  1. 管理

    #1.cluster healthy
    curl 'localhost:9200/_cat/health?v'
    #2. nodes in our cluster
    curl 'localhost:9200/_cat/nodes?v'
    #3.list all indices
    curl 'localhost:9200/_cat/indices?v'
  2. customer例子

    #1. create an index named "customer" and then list all the indexes again:
    ➜ ~ curl 'localhost:9200/_cat/indices?v'
    ➜ ~ curl 'localhost:9200/_cat/indices?v' #2. Let’s index a simple customer document into the customer index, "external" type, with an ID of 1
    ➜ ~ curl -XPUT 'localhost:9200/customer/external/1?pretty' -d '
    {
    "name": "John Doe"
    }' # ip:port/index name/type/id
    ➜ ~ curl -XGET 'localhost:9200/customer/external/1?pretty'
    {
    "_index" : "customer",
    "_type" : "external",
    "_id" : "1",
    "_version" : 1,
    "found" : true,
    "_source" : {
    "name" : "John Doe" # full json
    }
    } #3. delete the index that we just created
    # curl -X<REST Verb> <Node>:<Port>/<Index>/<Type>/<ID>
    ➜ ~ curl -XGET 'localhost:9200/customer/external/1?pretty' #4. batch processing
    ➜ ~ curl -XPOST 'localhost:9200/customer/external/_bulk?pretty' -d '
    {"index":{"_id":"1"}}
    {"name": "John ss" }
    {"index":{"_id":"2"}}
    {"name": "Jane Doe" }
    '
  3. bank例子

    #1. download json file : https://github.com/bly2k/files/blob/mas
    #2. load file
    ➜ ~ curl -XPOST 'localhost:9200/bank/account/_bulk?pretty' --data-binary "@accounts.json"
    ➜ ~ curl 'localhost:9200/_cat/indices?v'
    health status index pri rep docs.count docs.deleted store.size pri.store.size
    yellow open bank 5 1 1000 0 442.1kb 442.1kb
    yellow open .marvel-es-1-2016.06.14 1 1 4816 26 1.9mb 1.9mb
    yellow open .marvel-es-data-1 1 1 4 2 12.2kb 12.2kb
    yellow open .kibana 1 1 1 0 3.1kb 3.1kb
    yellow open customer 5 1 2 0 6.5kb 6.5kb #3. search api
    ➜ ~ curl 'localhost:9200/bank/_search?q=*&pretty'
    {
    "took" : 89, #time in milliseconds for Elasticsearch to execute the search
    "timed_out" : false, #if the search timed out or not
    "_shards" : { #how many shards were searched, as well as a count of the successful/failed searched shards
    "total" : 5,
    "successful" : 5,
    "failed" : 0
    },
    "hits" : { #search results
    "total" : 1000, # total number of documents matching our search criteria
    "max_score" : 1.0,
    "hits" : [ {
    "_index" : "bank",
    "_type" : "account",
    "_id" : "25",
    "_score" : 1.0,
    "_source" : {
    "account_number" : 25,
    "balance" : 40540,
    "firstname" : "Virginia",
    "lastname" : "Ayala",
    "age" : 39,
    "gender" : "F",
    "address" : "171 Putnam Avenue",
    "employer" : "Filodyne",
    "email" : "virginiaayala@filodyne.com",
    "city" : "Nicholson",
    "state" : "PA"
    }
    }, { # instead of passing q=* in the URI, we POST a JSON-style query : Json Query DSL
    ➜ ~ curl -XPOST 'localhost:9200/bank/_search?pretty' -d '
    {
    "query": { "match_all": {} }
    }'
    ➜ ~ curl -XPOST 'localhost:9200/bank/_search?pretty' -d '
    {
    "query": { "match_all": {} },
    "from": 10,
    "size": 10,
    "sort": { "balance": { "order": "desc" } },
    "_source": ["account_number", "balance"] #显示的字段
    }'
    #where条件
    ➜ ~ curl -XPOST 'localhost:9200/bank/_search?pretty' -d '
    {
    "query": { "match": { "account_number": 20 } }
    }' # and or条件查询语法
    ➜ ~ curl -XPOST 'localhost:9200/bank/_search?pretty' -d '
    {
    "query": {
    "bool": {
    "must": [
    { "match": { "address": "mill" } },
    { "match": { "address": "lane" } }
    ]
    }
    }
    }'#"bool":bool型查询 #"must":and "should":or "must_not":neither..nor #范围查询
    ➜ ~ curl -XPOST 'localhost:9200/bank/_search?pretty' -d '
    {
    "query": {
    "bool": {
    "must": { "match_all": {} },
    "filter": {
    "range": {
    "balance": {
    "gte": 20000,
    "lte": 30000
    }
    }
    }
    }
    }
    }' # "gte":大于 "lte":小于 #group by
    #SELECT state, COUNT(*) FROM bank GROUP BY state ORDER BY COUNT(*) DESC
    ➜ ~ curl -XPOST 'localhost:9200/bank/_search?pretty' -d '
    {
    "size": 0,
    "aggs": {
    "group_by_state": {
    "terms": {
    "field": "state"
    }
    }
    }
    }'

Elastic Search(一)的更多相关文章

  1. elastic search查询命令集合

    Technorati 标签: elastic search,query,commands 基本查询:最简单的查询方式 query:{"term":{"title" ...

  2. elastic search 学习笔记

    Elastic search在数据分析的应用中相当于一个数据库的搜索引擎. 跟MySQL类似,它有自己的查询语言,只不过不是关系型数据库,属于NoSQL. 可以根据索引从分布式服务器文件系统中快速存取 ...

  3. elastic search 学习 一

    初步阅读了elastic search 的文档,并使用command实践操作. 大概明白其概念模型.

  4. 分库分表后跨分片查询与Elastic Search

    携程酒店订单Elastic Search实战:http://www.lvesu.com/blog/main/cms-610.html 为什么分库分表后不建议跨分片查询:https://www.jian ...

  5. 自学elastic search

    工作也有一段时间了,虽然来这个公司之后学会了几门不同的语言,但想拨尖还是任重道远. 想往高级程序员甚至是架构师方向发展.他仍然是我的学习对象.我现在做着的,无非是他玩剩下的罢了. luncene之前有 ...

  6. Elastic Search 上市了,市值翻倍,这群人财务自由了!

    国庆长假,大部分人还深浸在风花雪月之中,而就在昨天(美国时间10月5号),我们 Java 程序员所熟知的大名鼎鼎的 Elastic Search 居然在美国纽约证券交易所上市了! 当说到搜索时,大部分 ...

  7. Elastic Search 安装和配置

    目标 部署一个单节点的ElasticSearch集群 依赖 java环境 $java -version java version "1.8.0_161" Java(TM) SE R ...

  8. [elastic search][redis] 初试 ElasticSearch / redis

    现有项目组,工作需要. http://www.cnblogs.com/xing901022/p/4704319.html Elastic Search权威指南(中文版) https://es.xiao ...

  9. elastic search文档详解

    在elastic search中文档(document)类似于关系型数据库里的记录(record),类型(type)类似于表(table),索引(index)类似于库(database). 文档一定有 ...

  10. elastic search 查询

    eelastic search主要有两种查询方式,一种是查询字符串,一种是请求体(json格式)查询. 查询字符串: 查询字符串的功能相对简单,使用容易. 比如GET http://localhost ...

随机推荐

  1. 获取元素高度及定位js

    <script type="text/javascript">                                   $(window).scroll(f ...

  2. Win10 EPLAN新建项目出现“一个内部错误的解决方法”

    [环境] Win10 64bits,EPLAN 2.4 64bits. [表现] 新建项目的时候出现"一个内部错误"的提示,然后软件卡死. [解决方案] 计算机管理--服务--EP ...

  3. python文件操作--字符串替换

    如把test.txt文件的 所有 AAA 字符串 替换成 aaaaa with open('test.txt','+r') as f: t = f.read() t = d.replace('AAA' ...

  4. kindEditor使用注意事项

    5,关于数据库和上传本地图片问题 Kindeditor对于上传的图片神马的会默认保存在attached文件夹中,至于数据库字段中存储的只是图片的地址,所以将内容读取出来的时候,只要读取数据库字段中的内 ...

  5. sql server 排序规则

    /*   排序规则根据特定语言和区域设置的标准指定对  字符串  数据 进行排序和比较的规则.   以 ORDER BY 子句为例:如果按升序排列,说英语的人认为字符串 Chiapas 应排在 Col ...

  6. 08-Java 多线程编程

    1.Java多线程-线程与进程的区别 (1)线程:程序中单独依靠程序进行运行 线程是程序中的顺序控制流,只能使用分配给程序的资源和环境. (2)进程:执行中的程序 一个进程可以包含一个或多个线程. 一 ...

  7. node-webkit 应用打包发布

    方便进行打包,使用了nodejs  ,gulp  nw-builder 备注  windows 操作系统部分版本需要包含  msvcr100.dll  建议制作安装程序的时候直接包含 为了进行视频以及 ...

  8. 【转】第5篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:自动注册JS脚本+委托回调方法分析

    作者: 牛A与牛C之间 时间: 2013-11-19 分类: 技术文章 | 暂无评论 | 编辑文章 主页 » 技术文章 » 第5篇:Xilium CefGlue 关于 CLR Object 与 JS ...

  9. FROM_UNIXTIME 格式化MYSQL时间戳函数

    FROM_UNIXTIME 格式化MYSQL时间戳函数 对MYSQL没有进行过深入的研究,基础知识匮乏,一遇到问题只能手册,看来要把MYSQL的学习安排进时间表了. 函数:FROM_UNIXTIME作 ...

  10. JQuery Pagenation 知识点整理——phototype 应用(20150517)(转)

    JS中的phototype是JS中比较难理解的一个部分 本文基于下面几个知识点: 1 原型法设计模式 在.Net中可以使用clone()来实现原型法 原型法的主要思想是,现在有1个类A,我想要创建一个 ...