• 多索引和多类别
    • /_search
    • /gb/_search
    • /gb,us/_search
    • /g*,u*/_search
    • /gb/user/_search
    • /gb,us/user,tweet/_search
    • /_all/user,tweet/_search
  • 重要

    多索引和多类别

    你注意到空搜索的结果中不同类型的文档——usertweet——来自于不同的索引——usgb

    通过限制搜索的不同索引或类型,我们可以在集群中跨所有文档搜索。Elasticsearch转发搜索请求到集群中平行的主分片或每个分片的复制分片上,收集结果后选择顶部十个返回给我们。

    通常,当然,你可能想搜索一个或几个自定的索引或类型,我们能通过定义URL中的索引或类型达到这个目的,像这样:

    /_search

    在所有索引的所有类型中搜索

    /gb/_search

    在索引gb的所有类型中搜索

    /gb,us/_search

    在索引gbus的所有类型中搜索

    /g*,u*/_search

    在以gu开头的索引的所有类型中搜索

    /gb/user/_search

    在索引gb的类型user中搜索

    /gb,us/user,tweet/_search

    在索引gbus的类型为usertweet中搜索

    /_all/user,tweet/_search

    在所有索引的usertweet中搜索
    search types user and tweet in all indices

    当你搜索包含单一索引时,Elasticsearch转发搜索请求到这个索引的主分片或每个分片的复制分片上,然后聚集每个分片的结果。搜索包含多个索引也是同样的方式——只不过或有更多的分片被关联。

    重要

    搜索一个索引有5个主分片和5个索引各有一个分片事实上是一样的

    接下来,你将看到这些简单的情况如何灵活的扩展以适应你需求的变更。