`

elasticSearch 使用之插件篇

 
阅读更多

       

      最近,因为接触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 目录下即可

 

   五、后续

       

       基于这样的插件,我们封装到我们自己的搜索服务中,实现插件式接口,顺利解决了查询耦合的问题。

 

  • 大小: 63.3 KB
  • 大小: 116 KB
  • 大小: 170.6 KB
  • 大小: 78 KB
0
6
分享到:
评论
1 楼 carlosfu 2016-05-04  
apple

相关推荐

Global site tag (gtag.js) - Google Analytics