大数据基础---Elasticsearch搭建与应用

项目版本

Build Status

构建需要:

  • JDK1.7

  • Elasticsearch2.2.1

  • junit4.10

  • log4j1.2.17

  • spring-context3.2.0.RELEASE

  • spring-core3.2.0.RELEASE

  • spring-beans3.2.0.RELEASE

  • spring-web3.2.0.RELEASE

  • spring-expression3.2.0.RELEASE

  • jstl1.2

运行需要:

  • JRE1.7

  • Tomcat8.x

  • Linux部署Elastisearch同开发版本一致。

一、功能简介

ElasticSearchByWeb是一个基于ElasticSearch技术开发的搜索项目。

提供了索引库的建立,数据的录入,搜索查询,web展示。

索引库效果图:

搜索效果图:

二、项目结构

├─.idea
│  ├─artifacts
│  ├─codeStyles
│  └─libraries
├─src
│  ├─main
│  │  ├─java
│  │  │  └─vip
│  │  │      └─shuai7boy
│  │  │          ├─controller (Spring MVC展示)
│  │  │          ├─model(用到的字段类)
│  │  │          ├─server(创建索引库,添加数据,搜索)
│  │  │          └─util(包括了分页工具类)
│  │  └─resources
│  └─test
│      └─java
└─web
    └─WEB-INF(项目配置)

三、Elasticsearch服务搭建

要想使用代码操作ES,必须先把ES服务器搭建起来。

这里准备了三台服务器node1,node2,node3练手。

  • 上传文件

    先将Elasticsearch2.2.1下载好的文件上传到node1下面的/opt/elasticsearch目录下。

  • 创建用户

    创建一个新的Linux用户,名称随意,我这里取名ryj(ES为了安全,不能直接使用root用户运行)。

    切换到新创建的用户,解压文件。

    su ryj
    tar xxx.tar.gz
    
  • 修改配置

    进入到/config 修改elasticsearch.yml

    cluster.name: ryj-es #设置集群名称
    node.name: node1 #设置节点名称(一会分发到其它服务器记得修改)
    network.host: 192.168.40.200 #设置服务器地址(一会分发到其它服务器记得修改)
    http.port: 9200 #放开端口
    #下面是防止脑裂部分
    discovery.zen.ping.multicast.enabled: false
    discovery.zen.ping.unicast.hosts: ["192.168.40.200:9300", "192.168.40.201:9300","192.168.40.202:9300"]
    discovery.zen.ping_timeout: 120s
    client.transport.ping_timeout: 60s
    

    修改完后保存。

  • 添加插件

    在项目下创建plugins目录

    • 将head插件放入plugins目录(提供词库浏览的web ui)

    • 将ik插件放入plugins目录(提供中文分词)

      image-20200609161219342

  • 修改完后分发到另外两台服务器

    scp -r xxx ryj@node2:`pwd`
    scp -r xxx ryj@node3:`pwd`
    
  • 启动

    在启动之前要确保都要切换到上面新创建的Linux用户下。

    ./bin/elasticsearch
    
  • 浏览

    测试每个节点是否启动成功使用9200端口,例如: http://node1:9200/

    浏览分词库在上面的基础上加_plugin/head/,例如:http://node1:9200/_plugin/head/

    上面的都正常无误后,接下来就是运行项目构建索引库操作了。

    进入vip.shuai7boy.serve.IndexServer 下运行createIndex构建索引库。

    进入vip.shuai7boy.serve.IndexServer 下运行addHtmlToES添加数据。

    启动Tomcat进行搜索。

项目开源地址

系列传送门

posted @ 2020-06-09 16:36  数据驱动  阅读(414)  评论(0编辑  收藏  举报