ElasticSearch入门第一章
注:本文仅针对ElasticSearch权威指南(中文版)中出现的简写命令进行curl的示例复原.仅供作为学习笔记使用.
ES权威指南中文版
链接地址:
http://es.xiaoleilu.com/010_Intro/25_Tutorial_Indexing.html
http://es.xiaoleilu.com/010_Intro/30_Tutorial_Search.html
1.简单的ES搜索请求
#查询索引数量
curl -XGET '192.168.4.3:9201/_count?pretty' -d '
{
"query": {
"match_all": {}
}
}'
#插入数据
curl -XPUT '127.0.0.1:9201/megacorp/employee/1' -d '
{
"first_name" : "John",
"last_name" : "Smith",
"age" : 25,
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}'
curl -XPUT '127.0.0.1:9201/megacorp/employee/2' -d '
{
"first_name" : "Jane",
"last_name" : "Smith",
"age" : 32,
"about" : "I like to collect rock albums",
"interests": [ "music" ]
}'
curl -XPUT '127.0.0.1:9201/megacorp/employee/3' -d '
{
"first_name" : "Douglas",
"last_name" : "Fir",
"age" : 35,
"about": "I like to build cabinets",
"interests": [ "forestry" ]
}'
curl -XPUT '127.0.0.1:9201/megacorp/employee/4' -d '
{
"first_name" : "Douglas",
"last_name" : "Fir2",
"age" : 35,
"about": "I like to build cabinets",
"interests": [ "forestry" ]
}'
curl -XPUT '127.0.0.1:9201/megacorp/employee/5' -d '
{
"first_name" : "Douglas",
"last_name" : "Fir Smith",
"age" : 35,
"about": "I like to build cabinets",
"interests": [ "forestry" ]
}'
#查询数据-检索文档
curl -XGET '127.0.0.1:9201/megacorp/employee/1'
#删除索引
curl -XDELETE '127.0.0.1:9201/megacorp/'
#删除类型
curl -XDELETE '127.0.0.1:9201/megacorp/employee'
#删除文档
curl -XDELETE '127.0.0.1:9201/megacorp/employee/3'
#简单搜索--默认返回前十个数据
curl -XGET '127.0.0.1:9201/megacorp/employee/_search'
#按关键字查询--查询制定字符串,精确匹配 q=${fieldName}:${fieldValue}
curl -XGET '127.0.0.1:9201/megacorp/employee/_search?q=last_name:Smith'
#使用DSL语言进行查询
curl -XGET '127.0.0.1:9201/megacorp/employee/_search' -d '
{
"query" : {
"match" : {
"last_name" : "Smith"
}
}
}'
curl -XGET '127.0.0.1:9201/megacorp/employee/_search' -d '
{
"query" : {
"match" : {
"last_name" : "Fir"
}
}
}'
#使用DSL语言进行查寻并添加区间过滤器过滤结果--首先查找年龄大于30的结果再查找lastname为史密斯的结果
curl -XGET '127.0.0.1:9201/megacorp/employee/_search' -d '
{
"query" : {
"filtered" : {
"filter" : {
"range" : {
"age" : { "gt" : 30 }
}
},
"query" : {
"match" : {
"last_name" : "smith"
}
}
}
}
}'
#相关性查询即全文搜索,包含短语或某个词就返回,然后进行打分--根据相关性评分查找并进行排序
curl -XGET '127.0.0.1:9201/megacorp/employee/_search' -d '
{
"query" : {
"match" : {
"about" : "rock climbing"
}
}
}'
#精确匹配即短语搜索--确切的匹配若干个单词或短语
curl -XGET '127.0.0.1:9201/megacorp/employee/_search' -d '
{
"query" : {
"match_phrase" : {
"about" : "rock climbing"
}
}
}'
#高亮结果--结果在上一个查询结果上添加highlight字段包含来自about中的文本,并用<em></em>来标识单词
curl -XGET '127.0.0.1:9201/megacorp/employee/_search' -d '
{
"query" : {
"match_phrase" : {
"about" : "rock climbing"
}
},
"highlight": {
"fields" : {
"about" : {}
}
}
}'
2.简单的聚合请求
#统计所有职员的兴趣爱好 计数
curl -XGET '127.0.0.1:9201/megacorp/employee/_search?pretty' -d '
{
"aggs": {
"all_interests": {
"terms": { "field": "interests" }
}
}
}'
#统计员工名叫Smith的兴趣爱好
curl -XGET '127.0.0.1:9201/megacorp/employee/_search?pretty' -d '
{
"query": {
"match": {
"last_name": "smith"
}
},
"aggs": {
"all_interests": {
"terms": {
"field": "interests"
}
}
}
}'
#统计所有员工的平均年龄
curl -XGET '127.0.0.1:9201/megacorp/employee/_search?pretty' -d '
{
"aggs" : {
"avg_age" : {
"avg" : { "field" : "age" }
}
}
}
}'
#统计每种兴趣下员工的平均年龄--分级聚合
curl -XGET '127.0.0.1:9201/megacorp/employee/_search?pretty' -d '
{
"aggs" : {
"all_interests" : {
"terms" : { "field" : "interests" },
"aggs" : {
"avg_age" : {
"avg" : { "field" : "age" }
}
}
}
}
}'
#按first_name统计聚合结果
curl -XGET '127.0.0.1:9201/megacorp/employee/_search?pretty' -d '
{
"aggs": {
"all_interests": {
"terms": {
"field": "first_name"
}
}
}
}'
转载请注明出处
相关推荐
elasticsearch 千峰教程课件 带目录 千锋elasticsearch视频教程带笔记
《Elasticsearch 核心技术与实战》第一部分:初识 Elasticsearch第 1 章:概述课程介绍课程综述及学习建议Elasticsearch 简介及其发展历史Elastic Stack 家族成员及其应用场景第 2 章:安装上手Elasticsearch 的安装...
该条指令会被反复执行的关键就在于main 中的第一行程序:for(;;),这里不对此作详细 的介绍,读者暂时只要知道,这行程序连同其后的一对大括号“{}”构成了一个无限循环语 句,该大括号内的语句会被反复执行。 第三...
《ElasticSearch:可扩展的开源弹性搜索...《ElasticSearch:可扩展的开源弹性搜索解决方案》是初学者学习ElasticSearch 不可多得的一本入门好书,对使用过ElasticSearch 及知道Apache Solr搜索引擎的人也颇有帮助。
第一章 SpringData概述 1.持久层开发的问题 2.SpringData简介 第二章 JPA回顾 1.JPA基础 2.JPA实战 3.JPA的重要API介绍 第三章 SpringData JPA基础 1.SpringData JPA简介 2.SpringData JPA快速入门 3.SpringData Jpa...
《 Elasticsearch核心技术与实战》 Github地址极客时间:《 Elasticsearch核心技术与实战》视频课程购买地址-https: 第一部分:初识Elasticsearch第1章:概述课程介绍课程概要及学习建议Elasticsearch简介及其发展...
│ Elk elasticsearch课件资料.rar │ jmeter课件资料.zip │ SpringBoot资料tb.zip ├ 第10章 高级篇之Jmeter压测课程总结和架构浅析 │ └ 35、课程总结和关于系统架构,推荐学习资料.mp4 ├ 第1章 章节一JMeter...
11.5.1 第一人称照相机或欧拉照相机 11.5.2 一个欧拉照相机的示例 11.5.3 跟随照相机 11.6 加载模块 11.6.1 wavefront obj格式 11.6.2 obj加载器的实现 11.6.3 使用obj加载器 11.6.4 关于加载模型的...
11.5.1 第一人称照相机或欧拉 照相机 460 11.5.2 一个欧拉照相机的示例 463 11.5.3 跟随照相机 468 11.6 加载模块 470 11.6.1 Wavefront OBJ格式 470 11.6.2 OBJ加载器的实现 471 11.6.3 使用OBJ...
第一章用户画像概念讲解,项目及环境构建 第二章数据ETL迁移、标签模型Oozie调度、标签存储与计算 第三章标签模型开发、规则匹配引擎 第四章SparkSQL开发、外部数据源配置、Hbase应用、统计开发 第五章Hbase条件过滤...
本篇是Axon4.4框架的翻译文档,按原文档分为六个部分,第一部分为第一章,主要是Axon及相关知识介绍;第二部分为第二章,主讲快速入门;第三部分为Axon主体框架Axon Framework介绍,包括第三章到第12章的全部内容,...
第1章 Lucene初识 Lucene4入门精通实战课程概述 Lucene系统架构 第2章 Lucene索引 Lucene索引里有什么 Lucene索引深入 Lucene索引深入优化 Lucene索引搜索 第3章 Lucene搜索实战 Lucene搜索实战 Lucene搜索深入...
+-- 第一章 VC入门 |------ 1.1 如何学好VC |------ 1.2 理解Windows消息机制 |------ 1.3 利用Visual C++/MFC开发Windows程序的优势 |------ 1.4 利用MFC进行开发的通用方法介绍 |------ 1.5 MFC中常用类,宏,函数...
第一章 整体介绍 2 1.1 什么是 Table API 和 Flink SQL 2 1.2 需要引入的依赖 2 1.3 两种 planner(old & blink)的区别 4 第二章 API 调用 5 2.1 基本程序结构 5 2.2 创建表环境 5 2.3 在 Catalog 中注册表 7 2.3.1...
第一章、Spark 基础环境 1.课程安排说明 2.Spark 框架概述 3.快速入门 4.Standalone集群及HA 5.Spark 应用开发入门 6.Spark 应用提交 7.Spark on YARN 8.应用部署模式DeployMode 第二章、SparkCore 模块 1.RDD 概念...
第一部分包括第1章到第7章,介绍如何构建一个使用OpenGL的程序、如何设置3D渲染环境,以及如何创建基本对象和光线并对他们进行着色。然后深入研究如何使用OpenGL,并向读者介绍GLSL,以及如何创建自己的着色器。第二...
第1章 Android入门 1 1 关于Android的非技术问题 1 1 1 为什么看好 Android 1 1 2 以前是否从事过Android的工作 做过哪些工作 1 1 3 你做的最复杂的界面是什么 1 1 4 如何解决Android学习中遇到的难题 1 1 5 Android...
第2 章 WebGL 入门 9 Canvas 是什么? 10 使用[canvas] 标签 11 DrawRectangle.js 13 最短的WebGL 程序:清空绘图区 16 HTML 文件(HelloCanvas.html) 16 JavaScript 程序(HelloCanvas.js) 17 用示例程序...
第2 章 WebGL 入门 9 Canvas 是什么? 10 使用[canvas] 标签 11 DrawRectangle.js 13 最短的WebGL 程序:清空绘图区 16 HTML 文件(HelloCanvas.html) 16 JavaScript 程序(HelloCanvas.js) 17 用示例程序...
第2 章 WebGL 入门 9 Canvas 是什么? 10 使用[canvas] 标签 11 DrawRectangle.js 13 最短的WebGL 程序:清空绘图区 16 HTML 文件(HelloCanvas.html) 16 JavaScript 程序(HelloCanvas.js) 17 用示例程序...