ElasticSearch操作说明

 

活动

方法

url

Body

集群的相关操作

查看健康

Get

http://localhost:9200/_cluster/health

查看节点

Get

http://localhost:9200/_cluster/state/nodes

关闭节点

Post

http://localhost:9200/_cluster/nodes/节点名字/_shutdown

注意:每次启动后,节点名字都会改变

关闭集群

post

http://localhost:9200/_cluster/nodes/_shutdown

索引的相关操作

创建索引settings

Post

http://localhost:9200/testindex

{}

创建索引settings

Post

http://localhost:9200/testindex/

{

"settings": {

"index": {

"number_of_shards":   "5",

"number_of_replicas":   "0"

}      }}

修改一个索引setting

Put

不能post

http://localhost:9200/testindex/_settings

{

"settings": {

"index": {

"number_of_replicas":   "0"

}      }}

删除索引setting

Del

http://localhost:9200/testindex/

删除所有索引setting

Del

http://localhost:9200/_all/

http://localhost:9200/*/

查看具体索引setting

Get

http://localhost:9200/testindex/_settings

关闭索引

Post

http://localhost:9200/testindex/_close

打开索引

post

http://localhost:9200/testindex/_open

查看所有索引setting

Get

http://localhost:9200/_settings

添加一个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

http://localhost:9200/testindex/testtype/1

{

"name":"张明",

"address":"中山北路"

}

Query查询

Get

http://localhost:9200/testindex/testtype/_search?q=name:张明

{

"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

http://172.16.20.49:9200/*/_search

http://172.16.20.49:9200/_search

{

}

Math

语义查询

Post

http://172.16.20.49:9200/zuhe/zuheentity/_search

http://172.16.20.49:9200/*/zuheentity/_search

http://172.16.20.49:9200/*/_search

http://172.16.20.49:9200/_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

http://172.16.20.49:9200/*/_search

http://172.16.20.49:9200/_search

{

"query":{

"match":{

"ManagerName":"财富"

}

}

}

Term

直接用倒排索引的词项进行查询,性能好,但在应用层面,直接使用的少

Post

http://172.16.20.49:9200/zuhe/zuheentity/_search

{

"query":{

"term":{

"ManagerName":{

"value":"财",

"boost":10

}

}

}

}

Wildcard

在term查询的基础上,增加通配符功能

Post

http://172.16.20.49:9200/zuhe/zuheentity/_search

{

"query":{

"wildcard":{

"ManagerName":{

"value":"?*"

,

"boost":10

}

}

}

}

Terms

最低匹配查询已不再支持,需要使用bool查询

Post

http://172.16.20.49:9200/zuhe/zuheentity/_search

{

"query":{

"terms":{

"ManagerName":["富","宇","财","富"]

,"minimum_match": 1

}

}

}

query_string

+-前面注意要有一个空格

Post

http://172.16.20.49:9200/zuhe/zuheentity/_search

{

"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基本操作的更多相关文章

  1. ElasticSearch 全文检索— ElasticSearch 基本操作

    REST 简介-定义 REST (REpresentation State Transfer)描述了一个架构样式的网络系统,比如 web 应用程序.它首次出现在 2000 年 Roy Fielding ...

  2. elasticsearch基本操作之--java基本操作 api

    /** * 系统环境: vm12 下的centos 7.2 * 当前安装版本: elasticsearch-2.4.0.tar.gz */ 默认进行了elasticsearch安装和ik安装, 超时配 ...

  3. elasticsearch基本操作之--使用QueryBuilders进行查询

    /** * 系统环境: vm12 下的centos 7.2 * 当前安装版本: elasticsearch-2.4.0.tar.gz */ QueryBuilder 是es中提供的一个查询接口, 可以 ...

  4. elasticsearch基本操作之--使用java操作elasticsearch

    /** * 系统环境: vm12 下的centos 7.2 * 当前安装版本: elasticsearch-2.4.0.tar.gz */ es 查询共有4种查询类型 QUERY_AND_FETCH: ...

  5. ElasticSearch基本操作(安装,索引的创建和删除,映射)

    ElasticSearch基于Lucene的搜索服务器,支持分布式,提供REST接口,可用于云计算,可以实现实时搜索,开源免费.这时很官方的一句话,在使用之前,我们简单的介绍一下安装过程.在官网下载之 ...

  6. elasticsearch 基本操作

    安装delete_by_query ,cd进/bin,执行./plugin install delete-by-query DELETE     http://192.168.1.12:9200/dd ...

  7. ElasticSearch基础知识讲解

    第一节 ElasticSearch概述 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfull web接口.ElasticSea ...

  8. Elasticsearch笔记二之Curl工具基本操作

    Elasticsearch笔记二之Curl工具基本操作 简介: Curl工具是一种可以在命令行访问url的工具,支持get和post请求方式.-X指定http请求的方法,-d指定要传输的数据. 创建索 ...

  9. ElasticSearch之安装及基本操作API

    ElasticSearch 是目前非常流行的搜索引擎,对海量数据搜索是非常友好,并且在高并发场景下,也能发挥出稳定,快速特点.也是大数据和索搜服务的开发人员所极力追捧的中间件.虽然 ElasticSe ...

随机推荐

  1. Angular JS笔记

    1.引导程序 使用ng-app开始引导一个程序:标记了AngularJS应用的作用域 <!doctype html> <html lang="en" ng-app ...

  2. HDU5727 Necklace(枚举 + 二分图最大匹配)

    题目大概说有n个yang珠子n个yin珠子,要交替串成一个环形项链,有些yang珠子和某个yin珠子相邻这个yang珠子会不高兴,问最少有几个yang珠子不高兴. 自然会想到直接用状压DP去解,转移很 ...

  3. BZOJ3659 : Which Dreamed It

    首先判断一下是否无解,并剔除孤立点. 根据best theorem,有向图中以$i$为起点的欧拉回路个数为: 以$i$为根的树形图个数$\times\prod_{i=1}^n (deg(i)-1)!$ ...

  4. 流式大数据处理的三种框架:Storm,Spark和Samza

    许多分布式计算系统都可以实时或接近实时地处理大数据流.本文将对三种Apache框架分别进行简单介绍,然后尝试快速.高度概述其异同. Apache Storm 在Storm中,先要设计一个用于实时计算的 ...

  5. Reids 主从同步

    安装Redis(主从两个装在同一服务器上) 参考地址:http://www.cnblogs.com/kgdxpr/p/3550633.html 主安装在“/usr/local/redis-Master ...

  6. jquery.cookie.js使用

    1.下载jquery.cookie.js 官网:http://plugins.jquery.com/cookie/ 或 http://pan.baidu.com/s/1mgynA8g 2.使用方法 $ ...

  7. SRM 615 DIV1 500

    TC 都615了...时间过的真快啊. 第一次做出500分,心情还是很激动的,虽然看了很久的题解,TC官网上的题解,很详细,但是英语的...我搜了搜,发现一份日语的...好吧,我还是看看英语的吧... ...

  8. iOS 开发技巧总结

    1.添加定时器的常用代码 - (void)delayEnableTabButton { self.tabChannelButton.enabled = NO; [self appendTimer]; ...

  9. vue.js中v-for的使用及索引获取

    1.v-for 直接上代码. 示例一: <!DOCTYPE html> <html> <head> <meta charset="utf-8&quo ...

  10. iOS开发如何提高

    阅读博客 在现在这个碎片化阅读流行的年代,博客的风头早已被微博盖过.而我却坚持写作博客,并且大量地阅读同行的iOS开发博客.博客的文章长度通常在 3000字左右,许多iOS开发知识都至少需要这样的篇幅 ...