最近,因为接触ES(elasticSearch),在使用过程中需要做一些改进,想法不是那么成熟,现在还在试验阶段,有些地方可能说的不是很全面,还望各位担待,当然如果有好的建议,也欢迎留言!!!
一、遇到的问题
之前由于各个系统使用的ES都是各个系统自己负责,所以面临的问题就是管理起来比较麻烦,比如各个系统使用的版本不兼容,容量规划不能做到全局最优,各个系统业务和搜索耦合度高,当然还有数据的一致性问题
二、优化方案
此次介绍主要围绕的一个问题是,业务系统和搜索服务的高度耦合,搜索服务常用的操作无非是增删改查,我们只要把这些给解耦了,这个问题自然迎刃而解,我们先说说查询。目前的一个想法是通过sql转query dsl,各个业务系统自己编写sql,然后调用es的封装服务获取结果,这样查询就是业务系统自己来写,达到解耦的目的,初期打算使用开源的工具 https://github.com/NLPchina/elasticsearch-sql/blob/master/README.md(如果有别的好的欢迎推荐)
三、插件的使用
按照官方文档描述那样,直接用es 插件那种安装方式,直接不行
坑爹啊,只能凭经验来了,之前安装其他插件都是再 es 安装目录下 plugins 目录里放插件的,好吧,源码打包吧,打包完了之后,在plugins 目录下新建这些东东,就可以运行了
运行结果
四、插件的自定义
看着源码,不禁细想了下,自定义插件的实现过程(以上面的开源工程为例,个人理解)
第一步定义插件和处理模块
第二步,增加es-plugin.properties 文件
第三步,打成需要的包和依赖包,放到/plugins 目录下即可
五、后续
基于这样的插件,我们封装到我们自己的搜索服务中,实现插件式接口,顺利解决了查询耦合的问题。
相关推荐
分享一套完整版视频课程——分布式搜索引擎Elasticsearch开发实战基础篇 (ElasticSearch、ELK、搜索引擎、Lucene),本教程旨在带领大家进入搜索引擎领域,从无到有,深入浅出的讲解了什么是搜索引擎,搜索引擎的...
(2)包含市面上几乎没有的所有Elasticsearch高级知识点:包含地理位置搜索与聚合分析,term vector,suggester search,搜索模板定制,query执行剖析,数十种最全面的聚合分析,span query,shard分配定制,es插件...
使用curl命令连接使用ES数据库 使用PUT方法增加数据 使用POST修改数据 使用GET查询数据 使用DELETE删除数据 增加数据 root@es1 bin]# curl -X PUT http://192.168.1.11:9200/home/tan/1 -d '{ > 职业:诗人, > 名字:...
【springboot-集成篇】springboot整合ElasticSearch的两种方式(非连接池,附源码)
本工程包含了2个高效易用的...不过该插件更新很慢,只使用与elasticsearch 2.x版本, 对于本篇的elasticsearch 5.x版本不适用。网上也有json-py-es等开源组件,不过只能从大文件导入索引,都不好用。 本篇实现了java版
是继Kubernetes、Prometheus、Envoy 、CoreDNS 和containerd后的第6个CNCF毕业项目,常用来对比的是elastic的logstash,相对而言fluentd更加轻量灵活,现在发展非常迅速社区很活跃,在编写这篇blog的时候github的star是...
│ 16 环境篇之ES的head插件安装准备.mp4 │ 20 环境篇之redis的linux和window测试.mp4 │ 21 环境篇之redis的主从部署及测试.mp4 │ 22 环境篇之flink简介.mp4 │ 23 环境篇之flink的HA部署.mp4 │ 24 环境篇...
在每篇文章发布或更新后立即开始了解! Fique sabendo em primeiramãoassim que cada post for publicado ou atualizado! 在公共场所或公共场所发邮件的网站上,您可以免费发送邮件,也可以在其他地方发邮件! Al...
SpringCloudAlibaba、RabbitMQ、Docker、Redis、Elasticsearch等众多行业大厂必备技术一网打尽。 实用篇、高级篇、面试篇分层次教学,由易到难,层层推进,高潮不断! 该套教程技术体系完整,即使在职或者曾学过的话...
Grafana数据可视化(第一篇) · 语雀1
这篇文章主要是想说一下 怎么在微信小程序中使用async/await从而逃离回调地狱 背景 最近一直在搞微信小程序 用的语言是TypeScript 小程序的api都是回调形式 用起来就是各种回调嵌套 我个人很不喜欢 所以一直想用...
本文作者:musiq1989,制作了一个很不错的图表插件,并且写了几篇文章来辅助,这是其中的第三篇,本系列已经获得授权,来自授权地址 本期大纲 1、饼图绘制 2、如何添加动画效果 3、使用rollup构建项目 关注我的 ...
WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏。 原生的WebGl比较复杂,主要通过对顶点着色器和片元着色器的操作,来实现渲染,但实现起来...
vue-webpack4时至今日(2018-7-11),vue-cli 任然未支持至webpack4,所以我自己来创建一个 vue 初始化模板不过大致的原因我...使用最新的 webpack一键更新插件:npm i -D webpack@4.15.1 vue-loader@15.2.4 mini-css-extrac
开发环境:JDK 1.8Mysql 5.7Redis 5.0MongoDB 4.2.5RabbitMQ 3.7.14Nginx 1.10Elasticsearch 7.6.2Logstash 7.6.2Kibana 7.6.2搭建步骤:1、Windows环境部署Windows环境搭建请参考:mall在Windows环境下的部署;...
在最近的工作中,为了编写一套相对比较复杂的插件,需要处理各种各样的异步操作。但是为了体积和兼容性,不打算引入任何的pollyfill,甚至连babel也不允许使用,这也意味着只能以es5的方式去处理。使用回调的方式...
平台上使用JaVa语言进行Android应用开发必须的工具和API接口。 特性 · 应用程序框架 支持组件的重用与替换 · Dalvik 虚拟机 专为移动设备优化 · 集成的浏览器 基于开源的WebKit 引擎 · 优化的图形库 包括定制的...
配置繁琐,对外暴露监控端口有数据 Logstash 是 Elastic.co 旗下的一个开源数据收集引擎,可动态的统一不同的数据源的数据至目的地,搭配 ElasticSearch 进行分析,Kibana 进行页面展示,是著名的 ELK 技术栈中的「...
也可以自己搭建 Elasticsearch 并通过配置进行集成 后续会对搜索功能进行加强,实现条件过滤,结果高亮等,敬请期待。 计划中的特性 信任系统 通过历史数据对用户进行分级提权,让用户从浏览者逐步变为参与者...