项目版本

构建需要:

  • 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. AUTOSAR-软件规范文档阅读

    https://mp.weixin.qq.com/s/Jzm9oco-MA-U7Mn_6vOzvA   基于AUTOSAR_SWS_CANDriver.pdf,Specification of CAN ...

  2. Spring-boot01

    本文记录Spring-Boot学习途中的点点滴滴. 其实Spring-Boot出来好长时间了,但是一直没去关注过.之前在我的印象里Spring-Boot好就好在减去了很多XML配置,加入了很多自动配置 ...

  3. Java实现洛谷P1250 种树 (暴力)

    P1250 种树 输入输出样例 输入 9 4 1 4 2 4 6 2 8 9 2 3 5 2 输出 5 PS: 我种最少的树,意味着我的树要最多的被利用,意味着,我的树要尽可能的靠中间种, 也就是我把 ...

  4. SQK Server实现 LeetCode 175 组合两个表

    175. 组合两个表 SQL架构 表1: Person +-------------+---------+ | 列名 | 类型 | +-------------+---------+ | Person ...

  5. Java实现 蓝桥杯VIP 算法提高 棋盘多项式

      算法提高 棋盘多项式   时间限制:1.0s   内存限制:256.0MB 棋盘多项式 问题描述 八皇后问题是在棋盘上放皇后,互相不攻击,求方案.变换一下棋子,还可以有八车问题,八马问题,八兵问题 ...

  6. java实现第五届蓝桥杯幂一矩阵

    幂一矩阵 天才少年的邻居 atm 最近学习了线性代数相关的理论,他对"矩阵"这个概念特别感兴趣.矩阵中有个概念叫做幂零矩阵.对于一个方阵 M ,如果存在一个正整数 k 满足 M^k ...

  7. 【Jquery】判断宽度跳转

    $(window).resize(function(){ var wWidth = screen.width; if( wWidth < 788 ){ window.location.href= ...

  8. Linux系统管理——Linux简介

    UNIX与Linux发展史 UNIX发展历史 1.1965年,美国麻省理工学院(MIT),通用电气公司(GE)及AT&T的贝尔实验室联合开发Multics工程计划,其目标是开发一种交互式的具有 ...

  9. @topcoder - SRM603D1L3@ SumOfArrays

    目录 @desription@ @solution@ @accepted code@ @details@ @desription@ 给定两个长度为 n 的数列 A, B.现你可以将两数列重排列,然后对 ...

  10. [LOJ6569] 仙人掌计数

    Statement 带标号仙人掌计数问题. \(n< 131072\). Solution 设\(x\)个点的仙人掌个数的生成函数为\(C(x)\) 对于与根相邻的块, 还是仙人掌, 生成函数为 ...