elasticsearch搭建与使用(原创)

1.概述

Elastic Search 是一个基于Lucene构建的开源,分布式搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引

2 、环境介绍与安装准备

    1、环境说明

       MAC OS X 10.10.95

    2、安装准备

        ElasticSearch(简称ES)由java语言实现,运行环境依赖java。ES 1.x版本,官方推荐至少使用jdk1.7及以上的环境,建议使用Oracle java,可以去官网下载,本文使用http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html  。ES可以去官网下载,也可以这里https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/zip/elasticsearch/2.1.0/elasticsearch-2.1.0.zip  ,本文使用elasticsearch-2.1.0.zip。

3、安装

  1、安装JAVA

        关于Java的安装,请参照这里 http://www.ifunmac.com/2013/04/mac-jdk-7/ 

  2、安装ES

以目前最新的elasticsearch-2.1.0.zip为例,将zip文件解压到指定目录:/usr/local,解压开来后为三个目录:bin、config、lib及三个文本文件。三个文本文件我们可以不用管。

进入:

cd /usr/local/elasticsearch-2.1.0/bin

运行如下命令即可启动elasticsearch

./elasticsearch

上面的启动命令将使得elasticsearch进程在后端运行,如果想使其在前端运行,这样可以看到服务启动时的打印信息,那么我们可以运行如下命令即可:

 ./elasticsearch –f

如果我们使用

ps aux | grep elasticsearch

会发现分配给elasticsearch的最小与最大内存为:

-Xms256m -Xmx1g,我们可以通过以下的命令来指定分给elasticsearch的最大与最小内存:

./elasticsearch -f -Xmx2g -Xms2g -Des.index.storage.type=memory

通常分配的最大与最小内存大小相等为最好。

如果是采用加-f的命令启动服务,则在当前界面可以按Ctrl+C关掉服务。

Elasticsearch启动后,我们可以通过访问如下url在前端查询该服务是否启动成功:

http://localhost:9200/

{

  "name" : "Ghost Girl",

  "cluster_name" : "elasticsearch",

  "version" : {

    "number" : "2.1.0",

    "build_hash" : "72cd1f1a3eee09505e036106146dc1949dc5dc87",

    "build_timestamp" : "2015-11-18T22:40:03Z",

    "build_snapshot" : false,

    "lucene_version" : "5.3.1"

  },

  "tagline" : "You Know, for Search"

}

启动成功!

9200是http访问端口,还有一个端口是9300,是各节点间彼此通信的端口。

PS. 配置文件

通过config/elasticsearch.yml设置cluster.name和node.name ,详细请查看: http://www.zihou.me/html/2014/01/17/9061.html 

4、安装apache-maven

1. 配置Maven需要检查下Java环境变量的设置。需要检查JAVA_HOME环境变量以及Java命令

在终端输入查看java版本:

java -version

如果显示版本就说明安装好了.

在MAC上查找和设置$JAVA_HOME

#输入命令查看java home变量是否设置:

echo $JAVA_HOME

另外可以使用-V选项列出所有版本的JAVA_HOME:

/usr/libexec/java_home -V

配置JAVA_HOME

1,打开 应用程序 -> 实用工具 -> 终端; 

2,在终端中定位到自己用户的主目录,输入: cd ~ ; 

3,创建一个空文件,输入:touch .bash_profile ; 

4,编辑这个文件,输入:open .bash_profile ; 

5,在这个文件中输入:export PATH=${PATH}:<文件目录> ;(将"<文件目录>"替换成自己想要的目录)export PATH=${PATH}:/Users/rye/android/android-sdk-mac_x86/tools; 

6,如果需要添加其他的环境变量例如JAVA_HOME,可以输入:export JAVA_HOME=/Library/Java/Home ; 

7,source .bash_profile重启终端,测试。

注意:

根据苹果的官方说明,Mac OS X 10.5 及以后的版本应该使用 /usr/libexec/java_home 命令来确定 JAVA_HOME ,而在此之前的版本由于没有这个命令,则应该使用固定的 /Library/Java/Home 目录。

最佳方式是:

export JAVA_HOME=`/usr/libexec/java_home`

另外,你还可以这样用,来选择不同的Java版本:

export JAVA_HOME=`/usr/libexec/java_home -v 1.6`

or

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

2.接着到http://maven.apache.org/download.html下载Maven安装文件,如apache-maven-3.3.9-bin.zip,然后解压到:/usr/local/目录

接下来,我们需要设置M2_HOME(IntelliJ默认为M2_HOME)环境变量指向apache-maven-3.3.9,并且把Maven安装目录下的bin/文件夹添加到系统环境变量PATH中去:

vim打开/Users/gaoaifei/.bash_profile文件 加入如下代码:    

export MAVEN_HOME=/Users/gaoaifei/apache-maven-3.3.9

export PATH=$PATH:$MAVEN_HOME/bin

至此,安装完成,我们可以运行以下命令检查Maven安装:

echo $MAVEN_HOME

mvn –version

5、下载中分文词库

下载:https://github.com/medcl/elasticsearch-analysis-mmseg

解压: tar xvf elasticsearch-analysis-mmseg**gz

cd elasticsearch-analysis-mmseg

mvn package 编译打包

编译完成,会在elasticsearch-analysis-mmseg文件夹目录下生成一个target文件夹,

/Users/gaoaifei/Downloads/elasticsearch-analysis-mmseg-master/target/releases

下会有个编译好的zip压缩包

elasticsearch-analysis-mmseg-1.6.0.zip

 

配置中文搜索

1.进入elasticsearch目录:/Users/gaoaifei/Downloads/elasticsearch-2.1.0  执行./bin/plubin install  或者手动生成plugins文件夹

2. 生成完成,在plugins文件夹下新建:mkdir  analysis-mmseg

3.将编译好的elasticsearch-analysis-mmseg目录下的打包文件

/Users/gaoaifei/Downloads/elasticsearch-analysis-mmseg-master/target/releases/elasticsearch-analysis-mmseg-1.6.0.zip

解压并拷贝到elasticsearch的plugins目录下

4.编辑elasticsearch配置文件,进行简单配置: 

 sudo vi /Users/gaoaifei/Downloads/elasticsearch-2.1.0/config/elasticsearch.yml

复制这段代码到此文件下:

index:
  analysis: 
    analyzer:
      mmseg_maxword:
        type: custom
        filter:
        - lowercase
        tokenizer: mmseg_maxword
      mmseg_maxword_with_cut_letter_digi:
        type: custom
        filter:
        - lowercase
        - cut_letter_digit
        tokenizer: mmseg_maxword 

:wq!保存退出

6.启动搜索引擎服务 ,进入 

/Users/gaoaifei/Downloads/elasticsearch-2.1.0/bin

重启服务:

./elasticsearch

7、创建索引,参考资料:

https://github.com/medcl/elasticsearch-analysis-mmseg 

 

原文地址:https://www.cnblogs.com/gaf617/p/5032189.html