资讯详情

elastic查询语句

【现象】

3月1日10:02、10:52用户反馈部分查询减慢,超过预设超时间(6万 ms)

【调查进展】

  1. refresh queue原因有待分析
  2. Cpu load10/16显著增加(load值/核数未达到理论瓶颈)
  3. Io明显增高,达到600(未达到理论瓶颈)
  4. Search queue明显增加,达到10(未达到理论瓶颈)
  5. 用户反馈业务量通常每分钟3次.5万左右每分钟增加到7万左右

【可能原因分析(非最终结论)】

业务查询语句涉及检索和排序。通过监控,我们可以看到索引每秒大约写入100个文档,这将潜在更新每个片段segment,然后需要频繁阅读段文件来更新排序树。当内存有限时,磁盘会被引起io增大,因此cpu和load随着查询流量的增加(达到1166 qps,几乎是正常流量的两倍),部分查询可能需要很长时间。

【短期解决方案】

  1. 扩展CPU,提高集群整体计算能力(由于集群所在基础设施资源不足,暂时未完成)
  2. 尽可能减少磁盘io(已完成)

【3月2日排查方向建议】

  1. 密切关注集群级和节点级等相关指标的反馈,如cpu load、search queue、磁盘io等
  2. 当负载高或用户反馈超时时,检查慢查句子,同时针对DSL进行profile分析,定位耗时的原因;结合jstack、arthas分析高消耗或等待线程,进一步确定资源瓶颈点

【后续可考虑的优化点】

  1. 排名优化:index sorting实现写入预排序,提高包括排序在内的并发查询效率
  2. 其它优化点需要分析

一、集群层面

GET _all 查询集群的所有信息

GET _search 查询集群中的一切documents

GET _cat/count 查询集群documents数量

GET _cat/indices?v&pretty 查询集群中存在的所有索引

GET /index 查询索引

DELETE /index 删除单个索引

DELETE /index1,index2或index* 删除多个索引

DELETE /_all或DELETE /* 删除所有索引

二、索引水平

GET index/…

GET index/_mapping

GET index/type/_mapping

GET index/type/_search 查询索引中的所有documents

GET index/type/_count 查询该索引中documents数量

GET index/type/_mapping 查询索引各字段的数据类型

GET index/type/id 查询特定的document

GET index/type/id?routing=rid 查询特定的document,带路由规则

查询所有文件

POST index/type/_search

{

“query”: {

“match_all”: {}

}

}

删除所有文档

DELETE index/type/_delete_by_query

{

“query”: {

“match_all”: {}

}

}

三、query-context通用非结构化子查询

查询匹配单个字段值的文档

POST szjy_lst_dtl_wrt/szjy_lst_dtl_wrt/_search

{

“query”:{

“match”:{

“trx_nbr”:“123456”

}

}

}

查询匹配多个字段值的文档

POST szjy_lst_dtl_wrt/szjy_lst_dtl_wrt/_search

{

“query”:{

“multi_match”:{

“query”: 人民币,

“fields”:[“fuzzy_search”,“fuzzy_search2”]

}

}

}

查询匹配习语的文档

POST szjy_lst_dtl_wrt/szjy_lst_dtl_wrt/_search

{

“query”:{

“match_phrase”:{

“fuzzy_search人民币 手机银行”

}

}

}

语法查询,AND OR NOT

POST szjy_lst_dtl_wrt/szjy_lst_dtl_wrt/_search

{

“query”: {

“query_string”: {

“query”: “人民币 AND (0131 OR 555)”

}

}

}

多字段语法查询

POST szjy_lst_dtl_wrt/szjy_lst_dtl_wrt/_search

{

“query”: {

“query_string”:{

“query”: “(人民币 AND 本人资金往来),

“fields”: [“fuzzy_search”,“fuzzy_search2”]

}

}

}

四、query-context通用结构化子查询

查询特定字段

POST szjy_lst_dtl_wrt/szjy_lst_dtl_wrt/_search

{

“query”: {

“term”:{

“trx_nbr”:“C911338448501”

}

}

}

范围查询

POST szjy_lst_dtl_wrt/szjy_lst_dtl_wrt/_search

{

“query”: {

“range”:{

“trx_tim”:{

“gte”: “2019-04-19 00:00:00”,

“lte”: “2019-04-19 14:19:03”

}

}

}

}

五、filter-context通用子查询

过滤出某个字段的值

POST szjy_lst_dtl_wrt/szjy_lst_dtl_wrt/_search

{

“query”: {

“bool”:{

“filter”:{

“term”: {

“crd_nbr”: “1111111111111111”

}

}

}

}

}

布尔计算查询should,must,must_not

POST szjy_lst_dtl_wrt/szjy_lst_dtl_wrt/_search

{

“query”: {

“bool”:{

“should”:[{

“match”: {

“crd_nbr”: “111111111111111”

}

},{

“match”: {

“trx_nbr”:“C911338448501”

}

}]

}

}

}

POST szjy_lst_dtl_wrt/szjy_lst_dtl_wrt/_search

{

“query”: {

“bool”:{

“must_not”:[{

“term”: {

“crd_nbr”: “111111111111111”

}

}]

}

}

}

六、组合查询

POST szjy_lst_dtl_wrt/szjy_lst_dtl_wrt/_search

{

“query”: {

“bool”:{

“should”:[{

“match”: {

“crd_nbr”: “111111111111111”

}

},{

“match”: {

“trx_nbr”:“C911338448501”

}

}]

, “filter”: [

{

“term”: {

“usr_id”: “012377316192”

}

}

]

}

标签: 铜铝电缆连接端子dtl

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司