项目版本

构建需要:

  • 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目录(提供中文分词)

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

    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进行搜索。

项目开源地址

系列传送门

入门大数据---Elasticsearch搭建与应用的更多相关文章

  1. 入门大数据---Elasticsearch是什么?

    Elasticsearch是谁不重要,重要的是咱们都知道百度,谷歌这样的搜索巨头吧.它们的核心技术都利用了Elasticsearch,所以我们有必要对Elasticsearch了解下! 1.Elast ...

  2. 入门大数据---HDFS-HA搭建

    一.简述 上一篇了解了Zookeeper和HDFS的一些概念,今天就带大家从头到尾搭建一下,其中遇到的一些坑也顺便记录下. 1.1 搭建的拓扑图如下: 1.2 部署环境:Centos3.1,java1 ...

  3. 入门大数据---Storm搭建与应用

    1.Storm在Linux环境配置 主机名 tuge1 tuge2 tuge3 部署环境 Zookeeper/Nimbus Zookeeper/Supervisor Zookeeper/Supervi ...

  4. 入门大数据---Hbase搭建

    环境介绍 tuge1 tuge2 tuge3 tuge4 NameNode NameNode DataNode DataNode ZooKeeper ZooKeeper ZooKeeper ZooKe ...

  5. 入门大数据---Kylin搭建与应用

    由于Kylin官网已经是中文的了,而且写的很详细,这里就不再重述. 学习右转即可. 这里说个遇到的问题,当在Kylin使用SQL关键字时,要加上双引号,并且里面的内容要大写,这个和MySql有点区别需 ...

  6. 大数据平台搭建(hadoop+spark)

    大数据平台搭建(hadoop+spark) 一.基本信息 1. 服务器基本信息 主机名 ip地址 安装服务 spark-master 172.16.200.81 jdk.hadoop.spark.sc ...

  7. 入门大数据---Flink学习总括

    第一节 初识 Flink 在数据激增的时代,催生出了一批计算框架.最早期比较流行的有MapReduce,然后有Spark,直到现在越来越多的公司采用Flink处理.Flink相对前两个框架真正做到了高 ...

  8. 大数据平台搭建-zookeeper集群的搭建

    本系列文章主要阐述大数据计算平台相关框架的搭建,包括如下内容: 基础环境安装 zookeeper集群的搭建 kafka集群的搭建 hadoop/hbase集群的搭建 spark集群的搭建 flink集 ...

  9. 大数据平台搭建-kafka集群的搭建

    本系列文章主要阐述大数据计算平台相关框架的搭建,包括如下内容: 基础环境安装 zookeeper集群的搭建 kafka集群的搭建 hadoop/hbase集群的搭建 spark集群的搭建 flink集 ...

随机推荐

  1. 「MoreThanJava」一文了解二进制和CPU工作原理

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

  2. Java实现 蓝桥杯 算法提高 八数码(BFS)

    试题 算法提高 八数码 问题描述 RXY八数码 输入格式 输入两个33表格 第一个为目标表格 第二个为检索表格 输出格式 输出步数 样例输入 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 ...

  3. Java实现 LeetCode 419 甲板上的战舰

    419. 甲板上的战舰 给定一个二维的甲板, 请计算其中有多少艘战舰. 战舰用 'X'表示,空位用 '.'表示. 你需要遵守以下规则: 给你一个有效的甲板,仅由战舰或者空位组成. 战舰只能水平或者垂直 ...

  4. Java实现 LeetCode 306 累加数

    306. 累加数 累加数是一个字符串,组成它的数字可以形成累加序列. 一个有效的累加序列必须至少包含 3 个数.除了最开始的两个数以外,字符串中的其他数都等于它之前两个数相加的和. 给定一个只包含数字 ...

  5. Java实现 蓝桥杯VIP 算法提高 开灯游戏

    算法提高 开灯游戏 时间限制:1.0s 内存限制:256.0MB 问题描述 有9盏灯与9个开关,编号都是1~9. 每个开关能控制若干盏灯,按下一次会改变其控制的灯的状态(亮的变成不亮,不亮变成亮的). ...

  6. Java实现蓝桥杯历届试题填字母游戏

    题目描述 小明经常玩 LOL 游戏上瘾,一次他想挑战K大师,不料K大师说: "我们先来玩个空格填字母的游戏,要是你不能赢我,就再别玩LOL了". K大师在纸上画了一行n个格子,要小 ...

  7. java实现第六届蓝桥杯密文搜索

    密文搜索 福尔摩斯从X星收到一份资料,全部是小写字母组成. 他的助手提供了另一份资料:许多长度为8的密码列表. 福尔摩斯发现,这些密码是被打乱后隐藏在先前那份资料中的. 请你编写一个程序,从第一份资料 ...

  8. Android9.0配置charles的https抓包

    问题: 按照charles的正常流程去安装证书后,然后使用手机(一加5T,安卓9.0)访问https站点发现有些CONNECT请求无法查看,但是其它类型都支持https 解决方案: 前提条件:手机已经 ...

  9. 如何拿到阿里P8 Offer-候选人视角谈面试

    自我介绍 首先简单自我介绍一下,我叫陈映平,花名叫做小卡,2011年校招进入腾讯,是腾讯课堂B侧的前端技术负责人.2015年响应总理的号召,跟朋友一起出来创业,跟前面一位讲师的经历有点像,然后2018 ...

  10. RocketMQ系列(二)环境搭建

    RocketMQ的基本概念在上一篇中给大家介绍了,这一节将给大家介绍环境搭建.RocketMQ中最基础的就是NameServer,我们先来看看它是怎么搭建的. NameServer RocketMQ要 ...