zoukankan      html  css  js  c++  java
  • Elasticsearch我的包装用法

    先挖坑,后填。

    0.我用elasticsearch做了哪些事

    数据来源:通过logstash实时导入elasticsearch,一类 mysql 中项目信息;一类日志信息

    常用查询写法

    1.做某些字段的筛选的查询、统计等

    • 某个项目访问量
    • 某个渠道来的访问量
    • 聚合搜索热门词汇
    • 统计某篇帖子访问量

    2.从mysql来的数据

    • 猜你喜欢,根据用户捐赠过的项目名字,查询在项目名称和描述字段中,与之较接近的前多少项目。

    一会儿贴查询sql

    写个博客,我太难了,公司条件不允许,只能拍照。

    1.懒人用法,包装Restapi。考虑到java 的api 不太熟悉,反而在RESTful下调用SQL比较得心应手的情况下,封装了rest请求

     图三,将es 地址写入配置文件,通过ClasspathResource拿到配置文件,再文件中读取es地址路径,ESutil类封装了es rest请求,postEs方法有两个参数url和body,url用来放请求的索引地址,body放ES的请求sql,方法里面封装http请求,并将返回结果解析为json对象。这样每次使用只需要调这个方法,传两个参数即可。

    图1,是处理返回结果的解析封装,这块没处理好,不够通用,对于单个搜索和聚合的处理是不同的。

    图2,是实际的请求sql.

    3.看了一篇帖子的醒悟,一直错用了Elasticsearch:https://zhuanlan.zhihu.com/p/60458049

    之前公司使用场景:将全量ngiNx采集的h5和app等访问日志通过logstash写入elasticsearch,在此基础上做,查询统计、猜你喜欢、热门搜索、热门帖子,帖子点击率等操作,这样其实很多日志数据并不关心,还占用了大量cache资源,尤其是在做猜你喜欢时,将mysql 实时增量数据导入el,字段多大20多,实则没太大意义,看过后只保存了重要的字段信息,日后引入hbase存储不太经常访问的字段试下。

    更多相关:https://www.iteblog.com/archives/tag/elasticsearch/

    4.最近在深举办的开源社区的meetup活动小结

  • 相关阅读:
    1-直播转点播
    3-美团 HTTP 服务治理实践
    3-SSDB 高性能NoSQL数据库, 用于替代 Redis.
    配置kubectl在Mac(本地)远程连接Kubernetes集群
    4-rocketmq 发送时异常:system busy 和 broker busy 解决方案
    3-RocketMQ 简单梳理 及 集群部署笔记
    2-Rocketmq产品架构(参考阿里云)
    1-RocketMq 学习 中文文档(一)
    tar命令参数详解
    Ubuntu 安装 .bundle 文件
  • 原文地址:https://www.cnblogs.com/lingli-meng/p/11507212.html
Copyright © 2011-2022 走看看