Elasticsearch多索引
在Elasticsearch中,一般的查询都支持多索引。
只有文档API或者别名API等不支持多索引操作,因此本篇就翻译一下多索引相关的内容。
首先,先插入几条数据:
$ curl -XPOST localhost:9200/test1/test/1 -d '{"name":"test1"}'
$ curl -XPOST localhost:9200/test1/test/2 -d '{"name":"test1"}'
$ curl -XPOST localhost:9200/test2/test/1 -d '{"name":"test1"}'
这样,ES中就存在了两个索引,三条数据。
数组格式
最基本的就是这种数组的风格,比如使用逗号进行分隔:
$ curl -XPOST 'http://localhost:9200/test*/_search?pretty' -d '{"query" : {"match_all" : {}}}'
{
"took" : 8,
"timed_out" : false,
"_shards" : {
"total" : 10,
"successful" : 10,
"failed" : 0
},
"hits" : {
"total" : 3,
"max_score" : 1.0,
"hits" : [ {
"_index" : "test1",
"_type" : "test",
"_id" : "2",
"_score" : 1.0,
"_source" : {
"name" : "test1"
}
}, {
"_index" : "test1",
"_type" : "test",
"_id" : "1",
"_score" : 1.0,
"_source" : {
"name" : "test1"
}
}, {
"_index" : "test2",
"_type" : "test",
"_id" : "1",
"_score" : 1.0,
"_source" : {
"name" : "test1"
}
} ]
}
}
_all
也可以在索引部分直接使用_all关键字代表匹配所有的索引。
$ curl -XPOST localhost:9200/_all/_search?pretty -d '{"query":{"match_all":{}}}'
通配风格
$ curl -XPOST localhost:9200/test*/_search?pretty -d '{"query":{"match_all":{}}}'
数学表达式风格
最后可以通过add(+)添加一个索引,使用remove(-)去掉一个索引
$ curl -XPOST localhost:9200/-logstash*,+test*/_search?pretty -d '{"query":{"match_all":{}}}'
另外介绍几个文档中常用的参数:
所有的多索引API支持以下url查询字符串参数
1 ignore_unavailable: true/false
控制是否忽略所指定的具体索引不可用,这包括所有不存在或关闭的指数。可以指定真或假。
假设我现在指定查询一个不存在的索引
true:

false:

2 allow_no_indices
当使用匹配表达式没有正确的索引时,是否正常
true:

false:

3 expand_wildcards:true/false
通配的索引时open还是closed
假设现在有logstash-narilog-2015.11.25索引处于关闭,logstash-narilog-2015.11.24索引处于open
open:

closed:

以上几个参数都可以在URI参数中设置,默认参数是根据所使用的API来决定。
Elasticsearch多索引的更多相关文章
- ElasticSearch+Kibana 索引操作
ElasticSearch+Kibana 索引操作 一 前言 ElasticiSearch 简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引 ...
- ES 10 - Elasticsearch的索引别名和索引模板
目录 1 索引模板概述 1.1 什么是索引模板 1.2 索引模板中的内容 1.3 索引模板的用途 2 创建索引模板 3 查看索引模板 4 删除索引模板 5 模板的使用建议 5.1 一个index中不能 ...
- elasticsearch的索引操作和文档操作总结
参考文档:https://es.xiaoleilu.com/010_Intro/00_README.html 一.索引操作 1.查看当前节点的所有的index 查看当前节点的所有的index [roo ...
- elasticsearch的索引自动清理及自定义清理
近发现elasticsearch近期索引文件大的吓人,清理了下之前的索引文件,发现服务器性能大大的减轻了一半,想一直保留近一个月的索引文件,但是又不想每个月手动清楚,在此写了一个小脚本 查询索引: c ...
- ELK学习笔记之ElasticSearch的索引详解
0x00 ElasticSearch的索引和MySQL的索引方式对比 Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤.特别是它对多条件的过滤支持非常好,比如年龄 ...
- elasticsearch删除索引报错【原】
如果elasticsearch删除索引报错 curl -X DELETE 'http://10.73.26.66:9200/httpd-34-2017.08.15' {"error" ...
- Spring Boot + Elasticsearch 实现索引的日常维护
全文检索的应用越来越广泛,几乎成了互联网应用的标配,商品搜索.日志分析.历史数据归档等等,各种场景都会涉及到大批量的数据,在全文检索方面,方案无外乎Lucene.Solr.Elasticsearch三 ...
- Spring Boot + Elasticsearch 实现索引批量写入
在使用Eleasticsearch进行索引维护的过程中,如果你的应用场景需要频繁的大批量的索引写入,再使用上篇中提到的维护方法的话显然效率是低下的,此时推荐使用bulkIndex来提升效率.批写入数据 ...
- 数组如何在ElasticSearch中索引
一.简介 在ElasticSearch里没有专门的数组类型,任何一个字段都可以有零个和多个值.当字段值的个数大于1时,字段类型就变成了数组. 下面以视频数据为例,介绍ElasticSearch如何索引 ...
- 【ElasticSearch】索引重建
ElasticSearch索引重建 ElasticSearch索引一旦建立,便不可修改索引字段类型(允许增加或者删除该字段) 例如从Integer类型修改为long类型,这是不被允许的,错误信息如下: ...
随机推荐
- JS之相等操作符
1.相等 == 和不相等 != 先转换操作数再比较相等性 在转换不同的数据类型时,相等和不相等遵循以下规则: 1.1 如果有一个操作数是布尔值,则在比较相等性前先将其转换为数值---false转换为0 ...
- 【转】Android性能优化之布局优化篇
转自:http://blog.csdn.net/feiduclear_up/article/details/46670433 Android性能优化之布局优化篇 分类: andorid 开发2015 ...
- A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null. Return a deep copy of the list.
图解: 此题过程分为三个阶段,分别是 1.负责后面一个节点,并且将这个节点插入到原来链表中 2.复制后面一个节点的random指针. 3 拆分组合链表为两部分. 第一部分代码: while(curr ...
- Sersync实现触发式文件同步 替代inotify和rsync
Sersync实现触发式文件同步 替代inotify和rsync Pyinotify是一个Python模块,用来监测文件系统的变化. Pyinotify依赖于Linux内核的功能—inotify(内核 ...
- APICloud云修复再升级 增加热重启APP功能
移动应用开发平台APICloud的亮点功能云修复在本月迎来升级版,云修复是APICloud的优势功能之一,通过APICloud平台开发的APP或者嵌入SuperWebView SDK的原生APP在发布 ...
- tomecat 配置修改 及启动配置
a.如果tomcat是以bat方式启动的,则如下设置: 修改TOMCAT_HOME/bin/catalina.sh 在“echo "Using CATALINA_BASE: $CATALIN ...
- 使用pycharm远程调试python代码
使用 pycharm 进行 python 代码远程调试 pycharm 的远程调试是从远程机器连接到本地机器,需要在远程机器的py文件中指定本地机器的IP和端口. 远程机器上,通过easy_insta ...
- [BS-06] 设置release发布时NSLog不打印设置
设置release发布时NSLog不打印设置 前提:在XCode做开发调试时往往需要打印一些调试信息做debug用,大家知道当打印信息的地方多了之后在模拟器上跑可能不会有什么问题,因为模拟器用的是电脑 ...
- Android百度地图开发(一)之初体验
转载请注明出处:http://blog.csdn.net/crazy1235/article/details/42614603 做关于位置或者定位的app的时候免不了使用地图功能,本人最近由于项目的需 ...
- jQuery.serialize()函数
jQuery.serialize()函数用于序列化一组表单元素,将表单内容编码为用于提交的字符串. jQuery.serialize()函数常用于将表单内容序列化,以便用于AJAX提交. 该函数主要根 ...