搜索 - shuiyuebingdian/ElasticSearch GitHub Wiki
Search 搜索API允许您执行搜索查询并获取与查询匹配的搜索命中。可以使用简单查询字符串作为参数来提供查询,也可以使用 请求正文来提供 查询。
多索引,多类型
所有搜索API都可以跨索引使用在多种类型中,并且可以通过支持多索引语法跨多个索引应用 。例如,我们可以搜索Twitter索引内所有类型的所有文档:
GET /twitter/_search?q=user:kimchy
我们还可以在特定类型中进行搜索:
GET /twitter/tweet,user/_search?q=user:kimchy
我们还可以在多个索引中搜索带有特定标签的所有tweet(例如,当每个用户都有自己的索引时):
GET /kimchy,elasticsearch/tweet/_search?q=tag:wow
或者我们可以使用_all 占位符搜索所有可用索引中的所有推文:
GET /_all/tweet/_search?q=tag:wow
甚至搜索所有索引和所有类型:
GET /_search?q=tag:wow
默认情况下,elasticsearch不会根据请求命中的分片数量拒绝任何搜索请求。尽管Elasticsearch将优化协调节点上的搜索执行,但是大量分片可能会对CPU和内存方面产生重大影响。通常最好以较少的大碎片组织数据来组织数据。如果您想配置软限制,则可以更新action.search.shard_count.limit群集设置,以拒绝命中太多碎片的搜索请求。