ElasticSearch 学习一: 基本命令
1. 启动时指定集群和节点的名字
./elasticsearch -Ecluster.name=my_cluster_name -Enode.name=my_node_name
e.g. ./elasticsearch -d -Ecluster.name=shjCluster -Enode.name=shjNode1 # -d 表示后台启动 用 jps 可以查看是否有 Elasticsearch 的进程 这时,只能通过 localhost 访问 elasticsearch。需要修改下面的配置才能让其它的机器也能访问。
vim config/elasticsearch.yml
增加 network.host: 0.0.0.0 在这个配置文件中,更改其它的配置,可以不用每次启动都指定参数:
cluster.name: shj-es-cluster # 指定要加入的集群名称
node.name: esnode-1 # 指定节点
path.data: tmp/esdata # 指定数据文件位置
path.logs: tmp/eslog # 指定日志位置 启动错误的话,可以先看: https://www.cnblogs.com/honeybee/p/6283623.html 访问: http://192.168.137.11:9200/?pretty 检查是否启动成功 批量导入数据:(在包含 accounts.json 的目录下执行下面的命令)
curl -H "Content-Type: application/json" -XPOST "localhost:9200/bank/_doc/_bulk?pretty&refresh" --data-binary "@accounts.json"
2. 使用 kibana 访问 ES:
修改 kibana.yml 文件中的 elasticsearch.url,指向 ES,本例中为: http://192.168.137.11:9200
后台启动 kibana: nohup ../bin/kibana &
访问 kibana http://localhost:5601 在 kibana 的 Dev Tools 中的 console 里输入
检查集群的状态
GET /_cat/health?v 一些命令:
(1) 创建一个document: PUT /indexName/typeName/id 示例:
PUT /ecommerce/product/1
{
"name" : "gaolujie yagao",
"desc" : "gaoxiao meibai",
"price" : 20,
"producer" : "gaolujie producer",
"tags": [ "meibai", "fangzhu" ]
} (2) 查询: GET /index/type/id 示例:
GET /ecommerce/product/1 (3) 更新文档: POST /indexName/typeName/id/_update 示例:
POST /ecommerce/product/1/_update
{
"doc": {
"name": "jiaqiangban gaolujie yagao"
}
}
上面只会更新 name 这一个字段 (4) 删除文档: DELETE /indexName/typeName/id (5) 条件查询 GET /ecommerce/product/_search
(a) 查询所有的商品
GET /ecommerce/product/_search
{
"query": { "match_all": {} }
} (b) 查询名称包含yagao的商品,同时按照价格降序排序
GET /ecommerce/product/_search
{
"query" : {
"match" : {
"name" : "yagao"
}
},
"sort": [
{ "price": "desc" }
]
} (c) 分页查询商品,
GET /ecommerce/product/_search
{
"query": { "match_all": {} },
"from": 1, # 从第几条(下标从0开始)开始查询
"size": 10 # 查询多少条记录
} (d) 指定要查询出来商品的名称和价格就可以
GET /ecommerce/product/_search
{
"query": { "match_all": {} },
"_source": ["name", "price"]
} (e) 搜索商品名称包含yagao,而且售价大于25元的商品
GET /ecommerce/product/_search
{
"query" : {
"bool" : {
"must" : {
"match" : {
"name" : "yagao"
}
},
"filter" : {
"range" : {
"price" : { "gt" : 25 }
}
}
}
}
} (f) 全文检索
GET /ecommerce/product/_search
{
"query" : {
"match" : {
"producer" : "yagao producer"
}
}
}
注意: 会搜索出所有包含 "yagao" 和 "producer" 的记录。类似于数据库搜索中的 producer='yagao' or producer=‘producer' (g) 短语检索
GET /ecommerce/product/_search
{
"query" : {
"match_phrase" : {
"producer" : "yagao producer"
}
}
}
注意: 类似于数据库搜索中的 producer='yagao producer' (h) 高亮搜索
GET /ecommerce/product/_search
{
"query" : {
"match" : {
"producer" : "yagao"
}
},
"highlight": {
"fields" : {
"producer" : {}
}
}
} (6) 只返回部分字段
GET /ecommerce/product/1?_source=name,price
批量查询
1. 不同 index 和 type
GET /_mget
{
"docs" : [
{
"_index" : "test_index",
"_type" : "test_type",
"_id" : 1
},
{
"_index" : "test_index",
"_type" : "test_type",
"_id" : 2
}
]
}
2. 如果查询的document是一个index下的不同type种的话
GET /test_index/_mget
{
"docs" : [
{
"_type" : "test_type",
"_id" : 1
},
{
"_type" : "test_type",
"_id" : 2
}
]
}
3. 如果查询的数据都在同一个index下的同一个type下 GET /test_index/test_type/_mget
{
"ids": [1, 2]
}
ElasticSearch 学习一: 基本命令的更多相关文章
- ElasticSearch 学习记录之ES几种常见的聚合操作
ES几种常见的聚合操作 普通聚合 POST /product/_search { "size": 0, "aggs": { "agg_city&quo ...
- ElasticSearch 学习记录之ES短语匹配基本用法
短语匹配 短语匹配故名思意就是对分词后的短语就是匹配,而不是仅仅对单独的单词进行匹配 下面就是根据下面的脚本例子来看整个短语匹配的有哪些作用和优点 GET /my_index/my_type/_sea ...
- ElasticSearch 学习记录之 分布式文档存储往ES中存数据和取数据的原理
分布式文档存储 ES分布式特性 屏蔽了分布式系统的复杂性 集群内的原理 垂直扩容和水平扩容 真正的扩容能力是来自于水平扩容–为集群添加更多的节点,并且将负载压力和稳定性分散到这些节点中 ES集群特点 ...
- ElasticSearch 学习记录之如任何设计可扩容的索引结构
扩容设计 扩容的单元 一个分片即一个 Lucene 索引 ,一个 Elasticsearch 索引即一系列分片的集合 一个分片即为 扩容的单元 . 一个最小的索引拥有一个分片. 一个只有一个分片的索引 ...
- ElasticSearch 学习记录之ES高亮搜索
高亮搜索 ES 通过在查询的时候可以在查询之后的字段数据加上html 标签字段,使文档在在web 界面上显示的时候是由颜色或者字体格式的 GET /product/_search { "si ...
- ElasticSearch 学习记录之ES查询添加排序字段和使用missing或existing字段查询
ES添加排序 在默认的情况下,ES 是根据文档的得分score来进行文档额排序的.但是自己可以根据自己的针对一些字段进行排序.就像下面的查询脚本一样.下面的这个查询是根据productid这个值进行排 ...
- ElasticSearch 学习记录之父子结构的查询
父子结构 父亲type属性查询子type 的类型 父子结构的查询,可以通过父亲类型的字段,查询出子类型的索引信息 POST /product/_search { "query": ...
- Elasticsearch学习笔记一
Elasticsearch Elasticsearch(以下简称ES)是一款Java语言开发的基于Lucene的高效全文搜索引擎.它提供了一个分布式多用户能力的基于RESTful web接口的全文搜索 ...
- elasticSearch学习安装
资料: 1.Elasticsearch学习,请先看这一篇! https://blog.csdn.net/laoyang360/article/details/52244917 2. linux下ela ...
- elasticsearch学习笔记——相关插件和使用场景
logstash-input-jdbc学习 ES(elasticsearch缩写)的一大优点就是开源,插件众多.所以扩展起来非常的方便,这也造成了它的生态系统越来越强大.这种开源分享的思想真是与天朝格 ...
随机推荐
- 分享知识-快乐自己:大数据(hadoop)环境搭建
大数据 hadoop 环境搭建: 一):大数据(hadoop)初始化环境搭建 二):大数据(hadoop)环境搭建 三):运行wordcount案例 四):揭秘HDFS 五):揭秘MapReduce ...
- django admin扩展user表password验证及set_password
一般如果扩展了django user内置表,在admin后台创建新用户的时候密码将会变成明文,故而导致登录不成功.所以我们在admin.py可以通过form自定义进行对password进行操作,可以双 ...
- hdu-5642 King's Order(数位dp)
题目链接: King's Order Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Othe ...
- codeforces 631C C. Report
C. Report time limit per test 2 seconds memory limit per test 256 megabytes input standard input out ...
- 机器学习 Support Vector Machines 1
引言 这一讲及接下来的几讲,我们要介绍supervised learning 算法中最好的算法之一:Support Vector Machines (SVM,支持向量机).为了介绍支持向量机,我们先讨 ...
- 解决编译warning:warning: ‘MeteringUnit::voltage_gain_’ will be initialized after [-Wreorder]
问题: 环境:ubuntu 12.04,g++版本4.6.3,编译目标文件时出现warnings: u1204@u1204-zhw:~/hwsvn/2sw/4prj_mips/UCP_rt5350/s ...
- 打包AAC码流到FLV文件
AAC编码后数据打包到FLV很简单. 1. FLV音频Tag格式 字节位置 意义0x08, ...
- 【C++ Primer 5th】Chapter 1
1. 每个C++都包含至少一个函数,其中一个必须为main函数,且 main 函数的返回类型必须为 int. 2. 函数定义包括:返回类型,函数名,形参列表,函数体 3. main 函数返回值用来指示 ...
- javascript之原型prototype
理解JavaScript原型 http://blog.jobbole.com/9648/ Web程序员应该知道的Javascript prototype原理 http://www.leonzhang. ...
- 【转】Pro Android学习笔记(四六):Dialog(3):对话框弹对话框
目录(?)[-] 帮助提示框的实现 实现再弹框 再谈fragment管理器 提示框的按钮Help,将触发弹出新的帮助提示框. 帮助提示框的实现 帮助提示框的实现很简单,利用重写onCreateView ...