Elasticsearch基本操作
ElasticSearch操作说明
|
活动 |
方法 |
url |
Body |
|
集群的相关操作 |
|||
|
查看健康 |
Get |
||
|
查看节点 |
Get |
||
|
关闭节点 |
Post |
http://localhost:9200/_cluster/nodes/节点名字/_shutdown |
注意:每次启动后,节点名字都会改变 |
|
关闭集群 |
post |
||
|
索引的相关操作 |
|||
|
创建索引settings |
Post |
{} |
|
|
创建索引settings |
Post |
{ "settings": { "index": { "number_of_shards": "5", "number_of_replicas": "0" } }} |
|
|
修改一个索引setting |
Put 不能post |
{ "settings": { "index": { "number_of_replicas": "0" } }} |
|
|
删除索引setting |
Del |
||
|
删除所有索引setting |
Del |
http://localhost:9200/*/ |
|
|
查看具体索引setting |
Get |
||
|
关闭索引 |
Post |
http://localhost:9200/testindex/_close |
|
|
打开索引 |
post |
http://localhost:9200/testindex/_open |
|
|
查看所有索引setting |
Get |
||
|
添加一个type |
|||
|
添加/修改一个mapping |
Put/ post |
http://localhost:9200/testindex/testtype/_mapping |
{ "testtype" : { "properties" : { "address" : { "type" : "string" }, "name" : { "type" : "string" } } }} |
|
删除mapping |
del |
http://localhost:9200/testindex/testtype |
|
添加具体的文档
|
插入文档自动生成id |
Post |
http://localhost:9200/testindex/testtype/ post每次都是创建新的 |
{ "name":"张明", "address":"中山北路" } |
|
插入文档,更新或生成 |
put |
http://localhost:9200/testindex/testtype/1 put时带具体的ID,表示修改,没有则创建 |
{ "name":"张明", "address":"中山北路" } |
|
普通查询 |
Get |
{ "name":"张明", "address":"中山北路" } |
|
|
Query查询 |
Get |
{ "name":"张明", "address":"中山北路" } |
其他操作:
|
插入文档自动生成index/type |
Post |
http://localhost:9200/testindex/testtype/ post每次都是创建新的 |
{ "name":"张明", "address":"中山北路" } |
|
插入文档自动生成index/type |
put |
http://localhost:9200/testindex/testtype/1 put时带具体的ID,表示修改,没有则创建 |
{ "name":"张明", "address":"中山北路" } |
|
同时创建index、type,不插入文档 |
Post/ put |
http://localhost:9200/testindex
后面的json格式最好不要变动,一般情况下,只要post过去的内容和查询看到的格式保持一个层次结构,都可以提交; 但是提交的格式却不一定和查询看到的一致(毕竟提交只是需要将所有的信息加上去就可以了) |
{ "settings" : { "number_of_shards" : "5", "number_of_replicas" : "1" } , "mappings" : { "testtype" : { "properties" : { "address" : { "type" : "string" }, "age" : { "type" : "string" } } } } } |
|
刷新索引 |
Post |
http://localhost:9200/testindex/_refresh |
|
|
提交索引 |
Post |
http://localhost:9200/testindex/_flush |
|
|
优化索引 |
Post |
http://localhost:9200/testindex/_optimize |
|
|
清空缓存 |
Post |
http://localhost:9200/testindex/_cache/clear |
查询操作:
|
Math_all 全集查询 |
Post |
http://172.16.20.49:9200/zuhe/zuheentity/_search http://172.16.20.49:9200/*/zuheentity/_search |
{ } |
|
Math 语义查询 |
Post |
http://172.16.20.49:9200/zuhe/zuheentity/_search http://172.16.20.49:9200/*/zuheentity/_search |
{ "query":{ "match":{ "ManagerName":"财富" } } } |
|
Math_phrase 短语查询,term查询后,进行位置匹配,得到类似like结果 |
Post |
http://172.16.20.49:9200/zuhe/zuheentity/_search http://172.16.20.49:9200/*/zuheentity/_search |
{ "query":{ "match":{ "ManagerName":"财富" } } } |
|
Term 直接用倒排索引的词项进行查询,性能好,但在应用层面,直接使用的少 |
Post |
{ "query":{ "term":{ "ManagerName":{ "value":"财", "boost":10 } } } } |
|
|
Wildcard 在term查询的基础上,增加通配符功能 |
Post |
{ "query":{ "wildcard":{ "ManagerName":{ "value":"?*" , "boost":10 } } } } |
|
|
Terms 最低匹配查询已不再支持,需要使用bool查询 |
Post |
{ "query":{ "terms":{ "ManagerName":["富","宇","财","富"] ,"minimum_match": 1 } } } |
|
|
query_string +-前面注意要有一个空格 |
Post |
{ "query":{ "query_string":{ "query":" +ManagerName:财富广场 -ManagerName:广场" } } } |
过滤器
|
Filter 查询 Filter查询不同时支持bool、or、and、exists、missing查询 |
Post |
http://172.16.20.49:9200/zuhe/zuheentity/_search |
{ "filter": { "bool": {"should": [{"term":{"ManagerName":"世"}} ,{"term":{"ManagerName":"界"}} ], "must_not": {"term": {"ManagerName":"水"} } } } } |
|
Query 语义查询 |
Post |
http://172.16.20.49:9200/zuhe/zuheentity/_search |
{ "query": { "bool": {"should": [{"term":{"ManagerName":"世"}} ,{"term":{"ManagerName":"界"}} ], "must_not": {"term": {"ManagerName":"水"} } } } } |
|
Filter、query联合查询 |
{ "filter": { "bool": {"should": [{"term":{"ManagerName":"世"}} ,{"term":{"ManagerName":"界"}} ], "must": {"term": {"ManagerName":"水"} } } } ,"query": { "bool": {"should": [{"term":{"ManagerName":"世"}} ,{"term":{"ManagerName":"界"}} ], "must_not": {"term": {"ManagerName":"界"} } } } } |
高级查询:
首先建立mapping关系,表示在type1对应的文档中,包含一个obj1的对象;
{
"type1" : {
"properties" : {
"obj1" : {
"type" : "nested"
}
}
}
}
嵌套查询,
{
"query":{
"nested" : {
"path" : "obj1",
"query" : {
"bool" : {
"must" : [
{
"match" : {"obj1.name" : "善亮"}
}
]
}
}
}
}
}
父查询、子查询同样,先建立mapping关系;
Put
http://172.16.20.49:9200/testindex/
“”{
"mappings": {
"grouptype": {
"properties" : {
"groupid" : {
"type" : "long"
}
}
},
"person": {
"_parent": {
"type": "grouptype"
}
}
}
}
插入元素:
http://172.16.20.49:9200/testindex/person/1?parent=1
{
"name":"zhan san",
"age":"10"
}
查询父:
http://172.16.20.49:9200/testindex/grouptype/_search
{
"query": {
"has_child": {
"type": "person",
"query": {
"match": {
"age": 10
}
}
}
}
}
https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-parent-field.html
查询子:
http://172.16.20.49:9200/testindex/person/_search
{
"query": {
"has_parent": {
"type": "grouptype",
"query": {
"match": {
"groupname": "搜索组"
}
}
}
}
}
分组统计:
{
"query": {
"filtered": {
"filter": {
"missing": {
"field": "Zhlx"
}
}
}
},
"size": ,
"aggregations": {
"tag": {
"terms": {
"field": "Permit",
"size":
}
}
}
}
post
批量插入:
{ "index": { "_index": "user","_type": "userinfo","_id": "6321113681837248" } }
{"uid":"6321113681837248","sid":"10000017","displayname":"ZYH","level":"3","introduce":"Good Luck"}
{ "index": { "_index": "user","_type": "userinfo","_id": "1871112725585910" } }
{"uid":"1871112725585910","level":"4"}
{ "index": { "_index": "user","_type": "userinfo","_id": "5123094091554478" } }
{"uid":"5123094091554478","level":"24"}
{ "index": { "_index": "user","_type": "userinfo","_id": "7340313454673584" } }
{"uid":"7340313454673584","level":"27"}
{ "index": { "_index": "user","_type": "userinfo","_id": "2465111535617940" } }
{"uid":"2465111535617940","level":"25"}
{ "index": { "_index": "user","_type": "userinfo","_id": "7221114042211736" } }
{"uid":"7221114042211736","level":"21"}
{ "index": { "_index": "user","_type": "userinfo","_id": "3006113720930996" } }
post
批量更新:
{ "update": { "_index": "user","_type": "userinfo","_id": "6321113681837248" }}
{"doc":{"uid":"6321113681837248","sid":"10000017","displayname":"ZYH","level":"3","introduce":"Good Luck"},"upsert":{"uid":"6321113681837248","sid":"10000017","displayname":"ZYH","level":"3","introduce":"Good Luck"}}
查看分词器效果:
http://172.16.58.54:9200/_analyze?analyzer=standard&pretty=true&text=我是中国人"
http://www.cnblogs.com/xing901022/p/5339419.html
Elasticsearch基本操作的更多相关文章
- ElasticSearch 全文检索— ElasticSearch 基本操作
REST 简介-定义 REST (REpresentation State Transfer)描述了一个架构样式的网络系统,比如 web 应用程序.它首次出现在 2000 年 Roy Fielding ...
- elasticsearch基本操作之--java基本操作 api
/** * 系统环境: vm12 下的centos 7.2 * 当前安装版本: elasticsearch-2.4.0.tar.gz */ 默认进行了elasticsearch安装和ik安装, 超时配 ...
- elasticsearch基本操作之--使用QueryBuilders进行查询
/** * 系统环境: vm12 下的centos 7.2 * 当前安装版本: elasticsearch-2.4.0.tar.gz */ QueryBuilder 是es中提供的一个查询接口, 可以 ...
- elasticsearch基本操作之--使用java操作elasticsearch
/** * 系统环境: vm12 下的centos 7.2 * 当前安装版本: elasticsearch-2.4.0.tar.gz */ es 查询共有4种查询类型 QUERY_AND_FETCH: ...
- ElasticSearch基本操作(安装,索引的创建和删除,映射)
ElasticSearch基于Lucene的搜索服务器,支持分布式,提供REST接口,可用于云计算,可以实现实时搜索,开源免费.这时很官方的一句话,在使用之前,我们简单的介绍一下安装过程.在官网下载之 ...
- elasticsearch 基本操作
安装delete_by_query ,cd进/bin,执行./plugin install delete-by-query DELETE http://192.168.1.12:9200/dd ...
- ElasticSearch基础知识讲解
第一节 ElasticSearch概述 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfull web接口.ElasticSea ...
- Elasticsearch笔记二之Curl工具基本操作
Elasticsearch笔记二之Curl工具基本操作 简介: Curl工具是一种可以在命令行访问url的工具,支持get和post请求方式.-X指定http请求的方法,-d指定要传输的数据. 创建索 ...
- ElasticSearch之安装及基本操作API
ElasticSearch 是目前非常流行的搜索引擎,对海量数据搜索是非常友好,并且在高并发场景下,也能发挥出稳定,快速特点.也是大数据和索搜服务的开发人员所极力追捧的中间件.虽然 ElasticSe ...
随机推荐
- Educational Codeforces Round 15 [111110]
注意一个词:连续 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<bits/ ...
- HDU 2853 (KM最大匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2853 题目大意:二分图匹配费用流.①最大匹配②最小原配变动 解题思路: 如果去掉第二个要求,那么就是裸 ...
- hdu1251 统计难题 字典树
Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己 ...
- JS类的封装及实现代码
js并不是一种面向对向的语言, 没有提供对类的支持, 因此我们不能像在传统的语言里那样 用class来定义类, 但我们可以利用js的闭包封装机制来实现js类, 我们来封装一个简的Shape类. 1. ...
- URAL 1346. Intervals of Monotonicity(DP)
题目链接 错误的贪了一下,然后D了两下就过了.注意是不上升和不下降..不是上升和下降.. #include <cstring> #include <cstdio> #inclu ...
- 配置安装CocoPods后进行 项目基本配置
配置安装CocoPods后进行 项目基本配置总结 1)终端在文件根目录下输入 $ touch Podfile 创建一个空白的Podfile文件 2)然后在使用编辑器打开Podfile文件进行需要配置的 ...
- SolrCloud 5.x 集群部署方法
CentOS下安装Solr5.3 http://www.centoscn.com/image-text/install/2015/0918/6190.html solr5.3.1 集群服务搭建 ...
- window通过mstsc远程连接其它计算机
1.Windows远程连接树莓派 1.1.Win + r 出现下面界面. 1.2.输入mstsc今日下面界面 1.3.出现警告,选“是” 1.4.输入账户密码,点“OK”
- 关于web前端(知乎上收集)
1988年的图灵奖得主Ivan Sutherland就是搞人机交互的,事情跟现在的前端是一个路子. 微博上@_Franky: 这和司机一个道理. 开车也是易学难精的.基本个把月就能上路. 而需要赛车手 ...
- 黑马程序员----java基础笔记上(毕向东)
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 笔记一共记录了毕向东的java基础的25天课程,分上.中.下 本片为上篇,涵盖前10天课程 1. ...