主要知识点

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. 自定义列标题 case when

    set@schoolid=41;select l.StartTime,l.EndTime,c.EntranceYear as 入学级,cg.Grade as 年级,c.ClassName as 班级名 ...

  2. MySQL desc作用

    MySQL中默认排序是acs(可省略):从小到大 desc :从大到小,也叫倒序排列.

  3. jabberNet 发送出席信息

    没代码我说个J8: public void Presence(User.EStatus status) { string statustxt = ""; //说明文字.比如,离开的 ...

  4. android 从assets和res中读取文件(转)

    1. 相关文件夹介绍      在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的.assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件 ...

  5. Moco模拟服务器实现请求&响应 (一)

    接口测试Moco工具 1.使用Moco模拟,首先需要下载Moco 的jar 包,下载链接: http://central.maven.org/maven2/com/github/dreamhead/m ...

  6. IPv6系列-初学者的10个常见困扰

    本文是<IPv6系列>文章的第二篇<常见困扰>,紧接<入门指南>,用于解答IPv6的10个常见困扰. 小慢哥的原创文章,欢迎转载 目录 ▪ 本文缘由 ▪ 困扰1. ...

  7. android 可拖动控件 ontouchevent

    首先附上文章的转载内容的链接: 学习android 可拖动事件首先需要对android的屏幕和touchevent参数建立一个详细的知识结构. 1.android坐标系统 一.首先明确一下 andro ...

  8. 代码code设置9.png/9-patch 图片背景后,此view中的TextView等控件显示不正常

    代码code设置9.png/9-patch 图片背景后,此view中的TextView等控件显示不正常 设置 padding=0

  9. AO如何获取SDE数据库中的数据

    /// <summary> /// 获取Table类型表的记录 /// </summary> /// <param name="relationCheckCla ...

  10. dotnetnuk错误提醒机制

    DotNetNuke.UI.Skins.Skin.AddModuleMessage(this, "关注保存出错.", DotNetNuke.UI.Skins.Controls.Mo ...