主要知识点

1、对搜索执行结果的说明

2、timeout机制讲解

一、对执行 GET /_search 的结果的说明

执行结果如下(只保留部分)

{

"took": 29,

"timed_out": false,

"_shards": {

"total": 16,

"successful": 16,

"failed": 0

},

"hits": {

"total": 25,

"max_score": 1,

"hits": [

{

"_index": ".kibana",

"_type": "config",

"_id": "5.1.1",

"_score": 1,

"_source": {

"buildNum": 14566

}

},

以下说明各个字段的含义:

1、took:整个搜索请求花费了多少毫秒

2、hits.total:本次搜索,返回了多少条结果

3、hits.max_score:本次搜索的所有结果中,最大的相关度分数是多少,每一条document对于search的相关度,越相关,_score分数越大,排位越靠前

4、hits.hits:默认查询前10条数据,完整数据,_score降序排序

5、shards:表示本次搜索过程中的shards信息。total 表示本次搜索请求一共路由到多少个shards中,"successful": 表示这些路由到的shards中有多少个是成功了的,"failed":表示这些路由到的shards中有多少个是失败了的。

shards fail的条件(primary和replica全部挂掉),不影响其他shard。默认情况下来说,一个搜索请求,会路由到一个index的所有primary shard上去,每个primary shard都可能会有一个或多个replic shard,所以请求也可以到primary shard的其中一个replica shard上去。

6、"hits" 一个数据,此次搜索返回的数据,默认返回10条,以_score降序排序

二、timeout机制

在默认情况下,es并无timeout,如果某一次搜索特别慢,要花5分钟才能完成,那es也会等5分钟搜索完成之后才返回结果,这种情况下对于那些对时间敏感的应用很不利,timeout机制指定每个shard只能在timeout所指定的时间内将已搜索到的结果返回(可能是部分数据),这样就可以确保每次搜索都能在指定的timeout时间内返回数据,

举例说明,假如有6个shard,对某一次搜索请求每个shard都返回1000条数据,都会花费100秒。如果指定了timeout=1s,那些es会在1秒后返回60条数据(10*6)。

可以在查询时指定timeout值

GET /_search?timeout=10m

timeout=10ms(毫秒),timeout=1s(秒),timeout=1m(分)

 
 

34.初识搜索引擎及timeout机制的更多相关文章

  1. es的timeout机制

    GET /_search?timeout=10ms默认情况下,es的timeout机制是关闭的.比如,如果你的搜索特别慢,每个shard都要花好几分钟才能查询出来所有的数据,那么你的搜索请求也会等待好 ...

  2. ElasticSearch(十四) _search api search timeout 机制

    语法:timeout=10ms,timeout=1s,timeout=1m GET /_search?timeout=10m timeout:默认无timeout,latency平衡completen ...

  3. Nebula 基于 ElasticSearch 的全文搜索引擎的文本搜索

    本文首发于 Nebula Graph 公众号 NebulaGraphCommunity,Follow 看大厂图数据库技术实践. 1 背景 Nebula 2.0 中已经支持了基于外部全文搜索引擎的文本查 ...

  4. A Zero Flow Entry Expiration Timeout P4 Switch

    文章名称:A Zero Flow Entry Expiration Timeout P4 Switch 零流表项期满超时P4交换机 发表时间:2018 期刊来源:SOSR ABSTRACT (摘要) ...

  5. 阿里云的OCS缓存机制

    OCS简介 OCS( Open Cache Service)为分布式高速缓存服务,主要实现热点数据的快速响应: OCS支持Key/Value的数据结构,兼容memcachebinary protoco ...

  6. Elasticsearch系列---初识搜索

    概要 本篇主要介绍搜索的报文结构含义.搜索超时时间的处理过程,提及了一下多索引搜索和轻量搜索,最后将精确搜索与全文搜索做了简单的对比. 空搜索 搜索API最简单的形式是不指定索引和类型的空搜索,它将返 ...

  7. Elasticsearch由浅入深(七)搜索引擎:_search含义、_multi-index搜索模式、分页搜索以及深分页性能问题、query string search语法以及_all metadata原理

    _search含义 _search查询返回结果数据含义分析 GET _search { , "timed_out": false, "_shards": { , ...

  8. 搜索引擎优化(SEO)解决方案

      搜索引擎优化(SEO)解决方案 在此之前,希望大家能重新审视搜索引擎,通俗来讲就是我们日常所用的百度.谷歌.搜狗.雅虎等.磨刀不误砍柴工,知己知彼,百战不殆! 一.搜索引擎是什么? 搜索引擎(Se ...

  9. Elasticsearch顶尖高手系列课程推荐

    Elasticsearch,是目前行业中非常热门的一个技术.Elasticsearch是一种分布式的海量数据搜索与分析的技术,可以用于电商网站.门户网站.企业IT系统等各种场景下的搜索引擎,也可以用于 ...

随机推荐

  1. CSS3选择器(全)

    CSS选择器复习 通用选择器:* 选择到全部的元素 选择子元素:> 选择到元素的直接后代(第一级子元素) 相邻兄弟选择器:+ 选择到紧随目标元素后的第一个元素 普通兄弟选择器:~ 选择到紧随其后 ...

  2. hibernate之关于一对一单向,双向关联映射

    [hibernate]之关于一对一单向,双向关联映射 首先我们来看,Hibernate官方对于一对一单向关联的解释: 基于外键关联的单向一对一关联和单向多对一关联差点儿是一样的. 唯一的不同就是单向一 ...

  3. luogu1064 金明的预算方案

    这道题我就想说一点:审题!附件只有2个!钱是10的整数倍,不是100的整数倍! #include <cstdio> #include <cstring> #include &l ...

  4. 2017 Multi-University Training Contest - Team 2 &hdu 6055 Regular polygon

    Regular polygon Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

  5. PCB .NET连接MySQL与Oracle DLL文分享件 MySql.Data,Oracle.ManagedDataAccess

    虽然我们C#对SQL SERVER天然的支持,但对于C#要连接MYSQL或Oracle就不同了, 需要用到第3方组件才行,本文将2个组件连接数据库代码与DLL下载地址贴出. 一.C#连接MYSQL   ...

  6. PCB 无需解压,直接读取Genesis TGZ指定文件 实现方法

    通过无需解压读取ZIP压缩包的方法,寻思者如何可以不解压直接读Genesis TGZ文件内容, 通过查找资料,原来可以通过:SharpCompress.dll工具实现此需求,此工具如此NB 一.Sha ...

  7. E20170905-mk

    recursive   adj. 回归的,递归的;

  8. 关于sublime代码格式化

    就我接触到的,html,css,js,json,php语言来介绍. html,css,json,js这些,我感觉pretty是比较好用的,ctrl+shift+h快捷键,给人不一样的感受,不过这个插件 ...

  9. nodejs express开发

    用NodeJS+Express开发WEB应用---第一篇 大漠穷秋2014-03-28 预热 为了对后面的内容理解更加透彻,推荐首先阅读下面这篇很好的文章: http://www.nodebeginn ...

  10. oj测试点相关 (整理摘编)

    Accepted                          通过!(AC) Wrong Answer                  答案错.(WA) Runtime Error      ...