微信搜索superit|邀请体验:大数据, 数据管理、OLAP分析与可视化平台 | 赞助作者:赞助作者

使用SpringBoot+elasticsearch6.x搭建的es全文搜索微服务

elasticsearch aide_941 17℃

使用SpringBoot+elasticsearch6.x搭建的es全文搜索微服务

LeeXian 

2018.02.10 15:38* 字数 338 阅读 8411评论 4

简述

SpringBoot+elasticsearch6.x搭建的es全文搜索微服务,主要技术:

  • 1、SpringBoot+Mybatis+Elasticsearch6.x框架
  • 2、使用RestHighLevelClient作为搜索java api
  • 3、使用LogStash同步mysql数据

环境安装

  • 创建需用同步数据的表 示例:
     (
       user_id      BIGINT AUTO_INCREMENT
       COMMENT '主键'
         PRIMARY KEY,
       user_name    VARCHAR(30) DEFAULT ''              NOT NULL
       COMMENT '用户名',
       sex          INT DEFAULT '0'                     NOT NULL
       COMMENT '性别',
       login_name   VARCHAR(20) DEFAULT ''              NOT NULL
       COMMENT '登录名',
       login_pwd    VARCHAR(30) DEFAULT ''              NOT NULL
       COMMENT '密码',
       status       INT DEFAULT '0'                     NOT NULL
       COMMENT '状态',
       gmt_create   TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
       gmt_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
     );
    
    
  • elasticsearch安装brew install elasticsearch 安装完成之后检查一下elasticsearch状态,使用curl命令 curl localhost:9200
  • 中文分词器安装elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.x/elasticsearch-analysis-ik-6.x.zip

    “6.x表示对应的elasticsearch版本”

  • 创建索引和映射
           "mappings":{
               "doc":{
                   "properties":{
                       "@timestamp":{
                           "type":"date"
                       },
                       "@version":{
                           "type":"text",
                           "fields":{
                               "keyword":{
                                   "type":"keyword",
                                   "ignore_above":256
                               }
                           }
                       },
                       "gmt_create":{
                           "type":"date"
                       },
                       "gmt_modified":{
                           "type":"date"
                       },
                       "login_name":{
                           "type":"text",
                           "fields":{
                               "keyword":{
                                   "type":"keyword",
                                   "ignore_above":256
                               }
                           },
                           "analyzer":"ik_max_word"
                       },
                       "login_pwd":{
                           "type":"text",
                           "fields":{
                               "keyword":{
                                   "type":"keyword",
                                   "ignore_above":256
                               }
                           }
                       },
                       "sex":{
                           "type":"long"
                       },
                       "status":{
                           "type":"long"
                       },
                       "user_id":{
                           "type":"long"
                       },
                       "user_name":{
                           "type":"text",
                           "fields":{
                               "keyword":{
                                   "type":"keyword",
                                   "ignore_above":256
                               }
                           },
                           "analyzer":"ik_max_word"
                       }
                   }
               }
           }
       } 
    
    
  • 安装LogStashbrew install LogStash

使用方法

  • 同步数据脚本
    sh moyu_index_sync.sh

代码地址

https://github.com/LenoXian/elastic-demo

转载请注明:SuperIT » 使用SpringBoot+elasticsearch6.x搭建的es全文搜索微服务

喜欢 (0)or分享 (0)