elasticsearch--java实践笔记(一)

kibana简单操作es

进行之前先进行kibana简单操作es的内容
查看全部索引:GET /_cat/indices?v
elasticsearch--java实践笔记(一)_第1张图片
这里我们只需要用到一条test-2019-02这一条索引,所以进行命令:GET /test-2019-02
elasticsearch--java实践笔记(一)_第2张图片
这些就是文件中字段,关于字段内容说明有具体的文件例如:

srvName  // 服务名
funName  //方法名
phone // 终端用户id

实现具体的日志搜索,也是根据导师提供的文件,例如:

GET /test-2019-02/_search?q=srvName:com_sitech_custmng_atom_inter_IQryCustInfoSvc_qryCustInfoListByCond

结果如下:
elasticsearch--java实践笔记(一)_第3张图片
关于返回结果的含义,这里介绍一些基本的:

took:耗费了几毫秒
timed_out:是否超时,false是没有,默认无timeout
_shards:shards fail的条件(primary和replica全部挂掉),不影响其他shard。默认情况下来说,一个搜索请求,会打到一个index的所有primary shard上去,当然了,每个primary shard都可能会有一个或多个replic shard,所以请求也可以到primary shard的其中一个replica shard上去。
hits.total:本次搜索,返回了几条结果
hits.max_score:score的含义,就是document对于一个search的相关度的匹配分数,越相关,就越匹配,分数也高
hits.hits:包含了匹配搜索的document的详细数据,默认查询前10条数据,按_score降序排序

timeout这边默认是没有的,也就意味着当你搜索的时候他会直到所有搜索结束才会返回结果,但是当我们做一些时间比较敏感的搜索的时候,等待时间很久,对用户来说是非常不友好的。那我们可以通过设置timeout这个值,来定时返回已经搜索到的数据。timeout机制,指定每个shard,就只能在timeout时间范围内,将搜索到的部分数据(也可能是搜索到的全部数据),直接返回给client,而不是等到所有数据全部搜索出来后再返回。

可以通过如下方式进行设置

timeout=10ms,timeout=1s,timeout=1m
GET /_search?timeout=10m

你可能感兴趣的:(学习笔记)