不为失败找理由,要为成功找方法。

Boolean查询中的执行顺序问题

ElasticsearchFFFrp 回复了问题 • 2 人关注 • 1 个回复 • 1087 次浏览 • 2022-10-09 19:37 • 来自相关话题

Elastic日报 第1508期 (2022-09-29)

Elastic日报Se7en 发表了文章 • 0 个评论 • 896 次浏览 • 2022-09-29 16:26 • 来自相关话题

1.使用 Elasticsearch 构建搜索 API(需要梯子)
https://medium.com/%40andre.lu ... a06b7
2.重磅 | 死磕 Elasticsearch 8.X 方法论认知清单(2022年国庆更新版)
https://mp.weixin.qq.com/s/OrHmVTfY3T9R76V5wSsmYA
3.一文搞懂 Elasticsearch 监控
https://mp.weixin.qq.com/s/IcouvjxozuoYZYRdsdHWTw

编辑:Se7en
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站: https://ela.st/bilibili

复展通知 | 2022国际开源节新档期定于11月5-7日,福田会展,不见不散!

活动OSTech 发表了文章 • 0 个评论 • 697 次浏览 • 2022-09-29 15:22 • 来自相关话题


图片3.png

致尊敬的各参展商、合作单位、媒体及观众朋友:
      
      很高兴通知大家,经过不断地协调和沟通,深圳国际电子展暨嵌入式系统展及2022国际开源节共同商定,展会将于11月5-7日复展,地点为深圳会展中心(福田)1/9号馆。

      感谢这段时间大家的理解以及默默的支持!花已开,鹏城不见不散!
 
 


2022国际开源节(IOSF)由OSTech联合中国信息通信研究院、Linux基金会亚太区发起策划,在ELEXCON深圳国际电子展暨嵌入式系统展落地,并聚集了包括中国科学院软件研究所、CNCF、LF AI & Data、LFOSSA、LF Edge、O3DF、OpenSSF、Hyperledger基金会等国际一流开源基金会和机构,GDG、开源中国等全球知名开发者社区,以及上海开源信息技术协会等权威开源机构的共建支持。
国际开源节旨在汇聚全球开源技术与项目,融合国际文化、开源社区生态和开源产业发展,构建“共创共赢”的开源文化,打造中国开源新生态。
2022国际开源节(IOSF)将同期举办前沿技术峰会,主题涵盖“国际开源教育与人才培养论坛”、“OpenSSF开源安全中国峰会”、“Kubernetes on AI & Edge ”、“Hyperledger超级账本峰会” 、“CNCF云原生论坛”、“开源投融资论坛 ”、“高校学术开源峰会”、“O3DF元宇宙论坛”,敬请期待!




 


合作联系

参展合作(微信同步)
Tony,13713437040;
Friday,17612060999;
宣传合作(微信同步)
Cindy,13553827402;
Katharine,13512772116;


Elastic日报 第1507期 (2022-09-28)

Elastic日报kin122 发表了文章 • 0 个评论 • 743 次浏览 • 2022-09-28 15:19 • 来自相关话题

1.怎么去毁掉 ES 的性能-2(需要梯子)
https://blog.allegro.tech/2021 ... .html
2.利用kafka去部署es双数据中心(需要梯子)
https://medium.com/rahasak/ela ... 95e5e
3.Elasticsearch:词分析中的 Normalizer 的使用
https://blog.csdn.net/UbuntuTo ... 89051

编辑:kin122
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站:https://ela.st/bilibili

如何用纯Java代码生成证书?

回复

ElasticsearchCharele 发起了问题 • 1 人关注 • 0 个回复 • 992 次浏览 • 2022-09-27 23:10 • 来自相关话题

ES7.17版本terms查询性能问题

Elasticsearchzmc 发表了文章 • 3 个评论 • 1196 次浏览 • 2022-09-27 18:53 • 来自相关话题

背景

1.对于7版本(大版本)集群希望只维护一个版本,最终选择7.17,对同大版本的7.5版本集群进行升级

2.根据官方描述,_id放到堆外性能损失非常小可以忽略,且对BKD进行了优化

3.升级完成,一段时间之后,收到用户报障

1-cpu.png



2-time.png



4.抽样检查了下部分升级的集群,其中部分受到影响,部分不受影响。且每个集群内存均有一定优化(预期内)

调查&分析

1.发现is_deleted文档特别多,怀疑是7.17版本对于碎片过于敏感。做forcemerge,没什么效果。

2.GET _nodes/hot_threads 查看耗时部分,结果展示笼统,没得到关键信息。

3.给语句加上profile,查看耗时部分。
<br /> GET index-v1/_search<br /> {"profile":"true","query":{"bool":{"filter":[{"term":{"xid":{"value":"11111111","boost":1.0}}},{"terms":{"status":[2,3,4],"boost":1.0}},{"terms":{"platform":["aaa","bbb"],"boost":1.0}},{"terms":{"pId":[1,2],"boost":1.0}}],"adjust_pure_negative":true,"boost":1.0}},"sort":[{"time":{"order":"desc"}}]}<br />

从脱敏的简化结果中可以看出来,主要是 status、pId 字段耗时高,这两个字段都是integer类型,并且使用了terms查询。
<br /> {<br /> "took": 554,<br /> "timed_out": false,<br /> "_shards": {<br /> "total": 3,<br /> "successful": 3,<br /> "skipped": 0,<br /> "failed": 0<br /> },<br /> "hits": {<br /> "total": {<br /> "value": 5,<br /> "relation": "eq"<br /> },<br /> "max_score": null,<br /> "hits": [<br /> ...<br /> ]<br /> },<br /> "profile": {<br /> "shards": [<br /> {<br /> "id": "[APxxxxxxxxxxxxxxQ][index-v1][0]",<br /> "searches": [<br /> {<br /> "query": [<br /> {<br /> "type": "BooleanQuery",<br /> "description": "#xid:111111111 #status:{2 3 4} #ConstantScore(platform:aaa platform:bbb) #pId:{1 2}",<br /> "time_in_nanos": 415205306,<br /> "breakdown": {<br /> ...<br /> "build_scorer": 415028271<br /> },<br /> "children": [<br /> {<br /> "type": "TermQuery",<br /> "description": "xid:111111111",<br /> "time_in_nanos": 102656,<br /> "breakdown": {<br /> .....<br /> "build_scorer": 86264<br /> }<br /> },<br /> {<br /> "type": "PointInSetQuery",<br /> "description": "status:{2 3 4}",<br /> "time_in_nanos": 220394978,<br /> "breakdown": {<br /> ....<br /> "build_scorer": 220385119<br /> }<br /> },<br /> {<br /> "type": "ConstantScoreQuery",<br /> "description": "ConstantScore(platform:aaa platform:bbb)",<br /> "time_in_nanos": 341845,<br /> "breakdown": {<br /> .....<br /> "build_scorer": 282277<br /> },<br /> "children": [<br /> {<br /> "type": "BooleanQuery",<br /> "description": "platform:aaa platform:bbb",<br /> "time_in_nanos": 329042,<br /> "breakdown": {<br /> .....<br /> "build_scorer": 277752<br /> },<br /> "children": [<br /> {<br /> "type": "TermQuery",<br /> "description": "platform:aaa",<br /> "time_in_nanos": 62446,<br /> "breakdown": {<br /> .....<br /> "build_scorer": 37931<br /> }<br /> },<br /> {<br /> "type": "TermQuery",<br /> "description": "platform:bbb",<br /> "time_in_nanos": 15093,<br /> "breakdown": {<br /> .....<br /> "build_scorer": 6981<br /> }<br /> }<br /> ]<br /> }<br /> ]<br /> },<br /> {<br /> "type": "PointInSetQuery",<br /> "description": "pId:{1 2}",<br /> "time_in_nanos": 194164297,<br /> "breakdown": {<br /> ....<br /> "build_scorer": 194160452<br /> }<br /> }<br /> ]<br /> }<br /> ],<br /> "rewrite_time": 40044,<br /> "collector": [<br /> {<br /> "name": "SimpleFieldCollector",<br /> "reason": "search_top_hits",<br /> "time_in_nanos": 144012<br /> }<br /> ]<br /> }<br /> ]<br />

4.单个的profile无法说明问题,进一步排查:使用arthas工具获取一段时间内的火焰图

3-火焰图.png



可以看到主要就是BKD数据结构占用的CPU。

5.参考官方论坛相似问题:https://discuss.elastic.co/t/v ... 152/3

6.integer类型的terms查询性能较差,看起来官方描述的BKD相关优化指的是range

7.测试验证,将字段改成keyword,查看结果,CPU查询耗时恢复到正常范围

4-结果.png



5-结果-time.png




es8 java api深分页

ElasticsearchCharele 回复了问题 • 2 人关注 • 1 个回复 • 870 次浏览 • 2022-09-27 20:45 • 来自相关话题

Elastic日报 第1506期 (2022-09-27)

Elastic日报God_lockin 发表了文章 • 0 个评论 • 753 次浏览 • 2022-09-27 10:44 • 来自相关话题


1. 构建搜索服务?SpringBoot和ES是绝配哦(需要梯子)
https://medium.com/javarevisit ... 0b41f
2. ASP.NET也可以拿ES处理日志吗?yes!(需要梯子)
https://medium.com/%40technica ... 9eaa9
3. Elastic agent,一站式日志解决方案,你值得拥有(需要梯子)
https://medium.zenika.com/how- ... 5aec7

编辑:斯蒂文
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站:https://ela.st/bilibili
 

Elastic日报 第1505期 (2022-09-26)

Elastic日报yuebancanghai 发表了文章 • 0 个评论 • 705 次浏览 • 2022-09-26 14:35 • 来自相关话题

1. 快手搜索在向量检索方向的探索和实践
   https://www.6aiq.com/article/1663498700156

2. 美团大众点评搜索相关性技术探索与实践
   https://www.6aiq.com/article/1657116010069

3. Elasticsearch 汉字补全和拼写纠错
   https://blog.51cto.com/u_14693305/5018534

编辑:yuebancanghai
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站:https://ela.st/bilibili

关于ES安全的一些问题探讨

回复

ElasticsearchCharele 回复了问题 • 1 人关注 • 1 个回复 • 969 次浏览 • 2022-09-24 22:12 • 来自相关话题

INFINI 产品更新啦 20220923

资讯动态liaosy 发表了文章 • 0 个评论 • 760 次浏览 • 2022-09-23 22:47 • 来自相关话题

![INFINI Labs 产品更新发布](https://elasticsearch.cn/uploa ... 90.png)

今天 INFINI Labs 为大家又带来了一波产品更新,请查阅。

INFINI Gateway v1.8.0

极限网关本次迭代更新如下:

  • 修复上下文条件 consumer_has_lag参数和 配置、文档不一致的 Bug。
  • 修改备集群故障,主集群不能正常写数据的 Bug。
  • 修复 Bulk 请求处理异常造成数据复制不一致的问题。
  • 修复请求日志里面关于 Bulk 统计数据丢失的问题。
  • 修复大并发情况下,请求体为空的异常。

    INFINI Console v0.6.0

    口碑爆棚的 Elasticsearch 多集群管控平台 INFINI Console 更新如下:

  • 新增主机概览。

    1-640.png



  • 新增主机监控。

    2-640.png



  • 节点概览新增日志查看功能(需安装 Agent)。

    3-640.png



  • Insight 配置框新增 Search 配置。
  • 优化 Discover 时间范围 Auto Fit,设为15分钟。
  • 优化 Discover 保存搜索,会保存当前的字段过滤和 Insight 图表配置。
  • 优化本地列表搜索查找,支持通配符过滤。
  • 优化告警规则必填字段标记显示。
  • 修复了 Discover 字段过滤白屏问题。
  • 修复了 Discover 表格添加字段后排序失效问题。(感谢@卢宝贤反馈)
  • 修复了 Elasticsearch 8.x 删除文档报错不兼容的问题。(感谢@卢宝贤反馈)
  • 修复了创建新索引不成功时,异常处理的问题。
  • 修复了低版本浏览器js不兼容导致集群注册不成功的问题。
  • 修复了开发工具中使用加载命令失败报错的问题。


    INFINI Agent v0.2.0

    数据采集工具探针(INFINI Agent)更新如下:

  • 新增按节点读日志文件列表的API
  • 新增读具体日志文件内容的API
  • 新增 Elasticsearch 节点掉线后的基础信息保存
  • 新增主机在线状态的采集
  • 新增基于 Centos 的 Docker 镜像
  • 新增主机配置信息采集: 操作系统信息、磁盘大小、内存大小、CPU配置等
  • 新增主机指标的采集: CPU使用率、磁盘使用率、磁盘IO、内存使用率、swap 使用率、网络IO等
  • 新增 Elasticsearch 进程信息采集
  • 修复发现 Elasticsearch 进程时频繁提示端口访问错误的Bug
  • 修复 Elasticsearch 节点地址为 0.0.0.0 时无法获取节点信息的Bug
  • 修复 CPU 指标数据显示异常的Bug
  • 修复 stats API 在 Windows 平台的兼容性

    INFINI Framework 2000923

    INFINI Framework 也带来了很多改进:

  • 重构了磁盘队列压缩相关配置,支持段文件的压缩。
  • 当集群不可用的情况下,跳过集群节点元数据的获取。
  • 完善节点可用性检测,避免频繁的不可用状态切换。
  • 修复 Elasticsearch 主机地址为空的异常。
  • 完善本地磁盘队列文件的清理,避免删除正在使用的文件。

    期待反馈


    如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github([https://github.com/infinilabs](https://github.com/infinilabs))中的对应项目中提交 Feature Request 或提交 Bug。

  • INFINI Gateway: [https://github.com/infinilabs/gateway](https://github.com/infinilabs/gateway)
  • INFINI Console: [https://github.com/infinilabs/console/issues](https://github.com/infinilabs/console/issues)
  • 下载地址: [https://www.infinilabs.com/#/download](https://www.infinilabs.com/#/download)

    您还可以通过邮件联系我们:hello@infini.ltd

    或者拨打我们的热线电话:(+86) 400-139-9200

    也欢迎大家微信扫码添加小助手,加入用户群讨论,或者扫码加入我们的知识星球一起学习交流。
    ![联系我们](https://elasticsearch.cn/uploa ... 24.png)

    感谢大家的围观,祝大家周末愉快。

如何解决ES 一秒钟的事务问题?

ElasticsearchCharele 回复了问题 • 3 人关注 • 2 个回复 • 791 次浏览 • 2022-09-27 18:53 • 来自相关话题

长期招聘ES技术人员

求职招聘yangmf2040 发表了文章 • 2 个评论 • 718 次浏览 • 2022-09-23 10:45 • 来自相关话题

要求:有es 认证
工作地点:深圳
vx:15773601117
email:yangf@newmindtech.cn
要求:有es 认证
工作地点:深圳
vx:15773601117
email:yangf@newmindtech.cn

API 网关 Apache APISIX 集成 Elasticsearch 实现实时日志监控

ElasticsearchWangChengCheng 发表了文章 • 0 个评论 • 655 次浏览 • 2022-09-23 10:18 • 来自相关话题

本文将为你介绍 Apache APISIX 的 elasticsearch-logger 插件的相关信息,以及如何通过此插件获取 APISIX 的实时日志。

背景信息


Apache APISIX 是一个动态、实时、高性能的 API 网关,提供了负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。作为 API 网关,Apache APISIX 不仅拥有丰富的插件,而且支持插件的热加载。

Elasticsearch 是一个基于 [Lucene](https://zh.m.wikipedia.org/zh-hans/Lucene) 库的搜索引擎。它提供了分布式、RESTful 风格的搜索和数据分析引擎,具有可扩展性、可分布式部署和可进行相关度搜索等特点,能够解决不断涌现出的各种用例。同时还可以集中存储用户数据,帮助用户发现意料之中以及意料之外的情况。

插件介绍


APISIXHTTP 请求的方式向 Elasticsearch 发送 APISIXRuntime 日志。插件 elasticsearch-logger 采用 [bulk](https://www.elastic.co/guide/e ... s-bulk) 的格式进行日志上报,这允许 APISIX 可以将多条日志合并后再进行上报,这使得 APISIX 在对 Elasticsearch 进行日志上报方面更加灵活并且具有较好的性能。你可以参考文档 [APISIX 批处理器](https://apisix.apache.org/zh/d ... essor/) 对日志合进行更加细致的配置。

配置步骤


首先,你需要安装完成 APISIX,本文所有步骤基于 Centos 7.5 系统进行。详细的安装步骤参考 [APISIX 安装指南](https://apisix.apache.org/zh/d ... guide/)。

步骤1:启动 Elasticsearch


本示例只演示了通过 docker-compose 启动 Elasticsearch 单节点的方式,其它启动方式可参考 [Elasticsearch 官方文档](https://www.elastic.co/cn/downloads/elasticsearch)。

``` shell

使用 docker-compose 启动 1 个 Elasticsearch 节点, 1 个 kibana

version: '3.8'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.1
container_name: elasticsearch
environment:
ES_JAVA_OPTS: -Xms512m -Xmx512m
discovery.type: single-node
xpack.security.enabled: 'false'
networks:

  • es-net
    ports:
  • "9200:9200"
  • "9300:9300"

    kibana:
    image: docker.elastic.co/kibana/kibana:7.17.1
    container_name: kibana
    environment:
    ELASTICSEARCH_HOSTS: http://elasticsearch:9200
    I18N_LOCALE: zh-CN
    networks:
  • es-net
    depends_on:
  • elasticsearch
    ports:
  • "5601:5601"

    networks:
    es-net:
    driver: bridge
    ```

    步骤2:创建路由并配置插件


    APISIX 默认配置文件中已启用 elasticsearch-logger 插件,所以你只需要通过下方命令创建路由并配置 elasticsearch-logger 插件就可以在 APISIX 中正常使用了。

    shell<br /> curl <a href="http://127.0.0.1:9180/apisix/admin/routes/1" rel="nofollow" target="_blank">http://127.0.0.1:9180/apisix/admin/routes/1</a> \<br /> -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '<br /> {<br /> "plugins":{<br /> "elasticsearch-logger":{<br /> "endpoint_addr":"<a href="http://127.0.0.1:9200"" rel="nofollow" target="_blank">http://127.0.0.1:9200"</a>,<br /> "field":{<br /> "index":"services",<br /> "type":"collector"<br /> },<br /> "ssl_verify":false,<br /> "retry_delay":1,<br /> "buffer_duration":60,<br /> "max_retry_count":0,<br /> "batch_max_size":1000,<br /> "inactive_timeout":5,<br /> "name":"elasticsearch-logger"<br /> }<br /> },<br /> "upstream":{<br /> "type":"roundrobin",<br /> "nodes":{<br /> "127.0.0.1:1980":1<br /> }<br /> },<br /> "uri":"/elasticsearch.do"<br /> }'<br />
    上述代码中配置了 Elasticsearch 地址、目标 field,用户名与密码。

    通过上述设置,就可以实现将 /elasticsearch.do 路径的 API 请求日志发送至 Elasticsearch 的功能。

    步骤3:发送请求


    接下来我们通过 API 发送一些请求。

    shell<br /> curl -i <a href="http://127.0.0.1:9080/elasticsearch.do" rel="nofollow" target="_blank">http://127.0.0.1:9080/elasticsearch.do</a>\?q\=hello<br /> HTTP/1.1 200 OK<br /> ...<br /> hello, world<br />

    此时你可以登录 Kibana 控制台检索查看相关日志:

    ![index](https://static.apiseven.com/ap ... d.webp)

    自定义日志结构


    当然,在使用过程中我们也可以通过 elasticsearch-logger 插件提供的元数据配置,来设置发送至 Elasticsearch 的日志数据结构。通过设置 log_format 数据,可以控制发送的数据类型。

    比如以下数据中的 $host$time_iso8601 等,都是来自于 NGINX 提供的内置变量;也支持如 $route_id$service_idApache APISIX 提供的变量配置。

    shell<br /> curl <a href="http://127.0.0.1:9180/apisix/admin/plugin_metadata/elasticsearch-logger" rel="nofollow" target="_blank">http://127.0.0.1:9180/apisix/a ... ogger</a> \<br /> -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '<br /> {<br /> "log_format": {<br /> "host": "$host",<br /> "@timestamp": "$time_iso8601",<br /> "client_ip": "$remote_addr"<br /> }<br /> }'<br />

    通过发送请求进行简单测试,可以看到上述日志结构设置已生效。目前 Apache APISIX 提供多种日志格式模板,在配置上具有极大的灵活性,更多日志格式细节可参考 [Apache APISIX 官方文档](https://apisix.apache.org/docs ... tadata)。

    此时你可以登录 Kibana 控制台检索查看相关自定义日志:

    ![](https://static.apiseven.com/ap ... 5.webp)

    如需关闭自定义日志结构,可参考下方操作。

    shell<br /> curl <a href="http://127.0.0.1:9180/apisix/admin/plugin_metadata/elasticsearch-logger" rel="nofollow" target="_blank">http://127.0.0.1:9180/apisix/a ... ogger</a> \<br /> -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X DELETE<br />

    此时,插件 elasticsearch-logger 将使用默认格式上报日志。

    关闭插件


    如使用完毕,只需移除路由配置中 elasticsearch-logger 插件相关的配置并保存,即可关闭路由上的插件。得益于 Apache APISIX 的动态化优势,开启和关闭插件的过程都不需要重启 Apache APISIX

    shell<br /> curl <a href="http://127.0.0.1:9080/apisix/admin/routes/1" rel="nofollow" target="_blank">http://127.0.0.1:9080/apisix/admin/routes/1</a> \<br /> -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '<br /> {<br /> "methods": ["GET"],<br /> "uri": "/hello",<br /> "plugins": {},<br /> "upstream": {<br /> "type": "roundrobin",<br /> "nodes": {<br /> "127.0.0.1:1980": 1<br /> }<br /> }<br /> }'<br />

    总结


    本文为大家介绍了关于 elasticsearch-logger 插件的功能与使用步骤,更多关于 elasticsearch-logger 插件说明和完整配置列表,可以参考官方文档。

    也欢迎随时在 [GitHub Discussions](https://github.com/apache/apisix/discussions) 中发起讨论,或通过[邮件列表](https://apisix.apache.org/zh/docs/general/join)进行交流。

elasticsearch设置某个、某类节点的数据不参与rebalance?

ElasticsearchCharele 回复了问题 • 3 人关注 • 5 个回复 • 726 次浏览 • 2022-09-28 09:57 • 来自相关话题