Elasticsearch——多索引的使用

在Elasticsearch中,一般的查询都支持多索引。
只有文档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 localhost:9200/test1,test2/_search?pretty -d '{"query":{"match_all":{}}}'
{
  "took" : 5,
  "timed_out" : false,
  "_shards" : {
    "total" : 10,
    "successful" : 10,
    "failed" : 0
  },
  "hits" : {
    "total" : 3,
    "max_score" : 1.0,
    "hits" : [ {
      "_index" : "test1",
      "_type" : "test",
      "_id" : "1",
      "_score" : 1.0,
      "_source":{"name":"test1"}
    }, {
      "_index" : "test2",
      "_type" : "test",
      "_id" : "1",
      "_score" : 1.0,
      "_source":{"name":"test1"}
    }, {
      "_index" : "test1",
      "_type" : "test",
      "_id" : "2",
      "_score" : 1.0,
      "_source":{"name":"test1"}
    } ]
  }
}

_all

也可以在索引部分直接使用_all关键字代表匹配所有的索引:

$ curl -XPOST localhost:9200/_all/_search?pretty -d '{"query":{"match_all":{}}}'

通配风格

elasticsearch还支持使用统配的风格,如使用*匹配任意字符:

$ 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":{}}}'

另外介绍几个文档中常用的参数:

1 ignore_unavailable

是否忽略不可用的索引

2 allow_no_indices

当没有可用的索引时,是否正常

3 expand_wildcards

统配的对象,是open的索引,还是closed的索引

这几个参数都可以在url参数中设置。

本文转自博客园xingoo的博客,原文链接:Elasticsearch——多索引的使用,如需转载请自行联系原博主。

时间: 2024-10-06 14:43:20

Elasticsearch——多索引的使用的相关文章

使用Python操作Elasticsearch数据索引的教程_python

Elasticsearch是一个分布式.Restful的搜索及分析服务器,Apache Solr一样,它也是基于Lucence的索引服务器,但我认为Elasticsearch对比Solr的优点在于:     轻量级:安装启动方便,下载文件之后一条命令就可以启动:     Schema free:可以向服务器提交任意结构的JSON对象,Solr中使用schema.xml指定了索引结构:     多索引文件支持:使用不同的index参数就能创建另一个索引文件,Solr中需要另行配置:     分布式

logstash输出到elasticsearch多索引

目标:将json格式的两类日志输出到elasticsearch两类索引 1. 安装logstash. 2. 编写logstash处理配置文件,创建一个test.conf文件,内容如下: input { file { path => "/home/vagrant/logstash/logstash-2.2.2/dbpool-logs/dev/common-sql-*.log" start_position => "beginning" type =>

如何同步TableStore数据到Elasticsearch

图书馆 图书馆Q是一家大型图书馆,图书馆藏书众多,纸质图书600多万册,电子图书7000多万册,总数有八千多万册,这些图书之前都是人工检索维护的,现在需要做一个系统来存储管理这些图书信息. 需求如下: 图书总量目前八千多万册,考虑到未来二十年的增长,需要系统能支持一亿的存储量. 图书信息很重要,不能接受丢失发生. 图书的名字和作者名字需要支持模糊搜索. 每本书的属性最多有一百多个,且不固定,不同类型的图书的属性列差异较大.且未来可能会新增属性列. 根据上面这些需求特点,要完成这个管理系统,需要两

表格存储结合Elasticsearch进行搜索的场景分析和实践

表格存储结合Elasticsearch进行搜索的场景分析和实践 表格存储(TableStore)是什么 TableStore是一个构建在阿里云飞天分布式系统上的Nosql数据库服务,熟悉阿里云的同学肯定听说过飞天5K,飞天是一个可以管理5000台机器的分布式系统,TableStore作为构建在其上的一个Nosql数据库,可以承载海量(单表几百TB)的数据存储,同时数据有三份拷贝,数据安全性有极高的保证. TableStore的数据是以行进行组织的,每行包含多个主键列和多个属性列,主键列的列名和类

Docker日志自动化: ElasticSearch、Logstash、Kibana以及Logspout

本文讲的是Docker日志自动化: ElasticSearch.Logstash.Kibana以及Logspout,[编者的话]本文主要介绍了如何使用ElasticSearch.Logstash.Kibana和Logspout技术栈来部署自动化的日志系统. You, too, could Logstash. 快速念五遍这个题目!不过说实话,我其实并不确定该给这篇文章起个什么样的名字才能确保人们可以找到它. 这篇文章是基于Evan Hazlett's article on running the

ELK( ElasticSearch+ Logstash+ Kibana)分布式日志系统部署文档

开始在公司实施的小应用,慢慢完善之~~~~~~~~文档制作 了好作运维同事之间的前期普及.. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 软件下载地址: https://www.elastic.co/downloads 在实际部署中,根据服务器的性能配置,ELK可部署在同一个机器上,也可以分别安装在不同的机器上,只要能保证网络连通.但建议ElasticSearch和Kibana部署在同一个机器上,这样可以加快检索速度. Shipper: 分布式部署在各应用服务器,收集并转发日

全文检索(elasticsearch入门)

Elasticsearch篇: Elasticsearch是一个采用java语言开发的,基于Lucene构造的开源,分布式的搜索引擎. 设计用于云计算中,能够达到实时搜索,稳定可靠. Elasticsearch的数据模型是JSON. 对于需要分布式需求的这是一个非常好的选择,部署简单,同网段内会自动组成集群服务无需配置.其集成数据库同步插件,不仅支持几乎实时的全文检索服务,还支持距离查询,提供类似类似百度地图离我最近查询. 官方主页:http://www.elasticsearch.org/ 

《深入理解ElasticSearch》——1.2 ElasticSearch简介

1.2 ElasticSearch简介 虽然读者可能已经对ElasticSearch有所了解,至少已经了解了它的一些核心概念和基本用法.然而,为了全面理解该搜索引擎是如何工作的,我们最好简略地讨论一下它. ElasticSearch是一个可用于构建搜索应用的成品软件.它最早由Shay Banon创建并于2010年2月发布.之后的几年ElasticSearch迅速流行开来,成为商业解决方案之外且开源的一个重要选择,也是下载量最多的开源软件之一,每月下载量超过20万次.1.2.1 ElasticSe

《深入理解Elasticsearch(原书第2版)》一1.2 何为Elasticsearch

1.2 何为Elasticsearch 当读者手持本书阅读时,可能已经对Elasticsearch有所了解了,至少已经了解了它的一些核心概念和基本用法.不过,为了全面理解该搜索引擎是如何工作的,我们最好简略地讨论一下它. 也许你已经了解到,Elasticsearch是一个可用于构建搜索应用的成品软件(译者注:区别于Lucene这种中间件).它最早由Shay Banon创建,并于2010年2月发布.之后的几年,Elasticsearch迅速流行开来,成为其他开源和商业解决方案之外的一个重要选择.它