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活动小结

  • 相关阅读:
    61. 最长不含重复字符的子字符串
    60. 礼物的最大价值 (未理解)
    59. 把数字翻译成字符串
    58. 把数组排成最小的数
    57. 数字序列中某一位的数字 (不懂)
    spring data jpa 官方文档
    idea 编译报错 源发行版 1.8 需要目标发行版 1.8
    idea maven 依赖报错 invalid classes root
    solr
    spring boot 官方文档
  • 原文地址:https://www.cnblogs.com/lingli-meng/p/11507212.html
Copyright © 2011-2022 走看看