Elasticsearch 权威指南
  • Elasticsearch 权威指南
  • 入门
    • 初识
    • 安装
    • API
    • 文档
    • 索引
    • 搜索
    • 汇总
    • 小结
    • 分布式
    • 本章总结
  • 分布式集群
    • 空集群
    • 集群健康
    • 添加索引
    • 容错移转
    • 横向扩展
    • 扩展
    • 故障恢复
  • 数据
    • 文档
    • 索引
    • Get
    • 存在
    • 更新
    • 创建
    • 删除
    • 版本控制
    • 局部更新
    • Mget
    • Bulk
    • 总结
  • 分布式文档存储
    • 路由
    • 主从互通
    • 创建索引删除
    • 获取
    • 局部更新
    • 批量请求
    • 批量格式
  • 搜索
    • 空白搜索
    • 多索引多类型
    • 分页
    • 查询语句
  • 映射与统计
    • Exact_vs_full_text
    • Inverted_index
    • Analysis
    • Mapping
    • Complex_datatypes
Powered by GitBook
On this page

Was this helpful?

  1. 搜索

多索引多类型

你是否注意到了《空白搜索》一章节的文档中包含了很多不同的类型 —— user与tweet,它们也分别来自us、gb这两个不同的索引?

当我们没有特别指定一个索引或者类型的时候,我们将会搜索整个集群中的所有文档。Elasticsearch会把搜索请求转发给集群中的每一个主从分片,然后按照结果的相关性得到前十名,并将它们返回给我们。

然而,往往我们只需要在某一个特定的索引的几个类型中进行搜索。我们可以通过在URL中定义它来实现这个功能:

URL

说明

/_search

搜索所有的索引和类型

/gb/_search

搜索索引gb中的所有类型

/gb,us/_search

搜索索引gb以及us中的所有类型

/g*,u*/_search

搜索所有以g或u开头的索引中的所有类型

/gb/user/_search

搜索索引gb中类型user内的所有文档

/gb,us/user,tweet/_search

搜索索引gb和 索引us中类型user以及类型tweet内的所有文档

/_all/user,tweet/_search

搜索所有索引中类型为user以及tweet内的所有文档

当你在一个索引中搜索的时候,Elasticsearch或将你的搜索请求转发给相应索引中的所有主从分片,然后收集每一个分片的结果。在多个索引中搜索也是相同的流程,只不过是增加了一些参与分片。

重要提示

搜索一个拥有五个主分片的索引与搜索五个都只拥有一个主分片是完全一样的。

在后面,你将会了解到如何利用这一点,来根据你的需要灵活打造系统。

Previous空白搜索Next分页

Last updated 5 years ago

Was this helpful?