Elasticsearch是一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎,功能强大,最近刚好要研究搜索这一块,简要记录备日后查阅

  1. 安装Java JDK,由于Lucene是用Java开发的,所以需要安装JVM

    • JAVA官网下载JDK安装包,注意,由于后面我们安装中文分词插件需要装maven,所以安装的必须是JDK包而不是JRE

    • 通过RPM -ivh 命令安装下好的安装包

    • 编辑配置文件,将安装好的java路径加入环境变量

        #vim /etc/profile

      在里面添加如下内容

       export JAVA_HOME=/usr/java/your_jdk_directory(修改成对应的路径)
      export JAVA_BIN=$JAVA_HOME/bin
      export PATH=$PATH:$JAVA_HOME/bin
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      export JAVA_HOME JAVA_BIN PATH CLASSPATH

      使配置文件生效

        #source /etc/profile 或 #. /etc/profile  (也可关闭终端重新登陆)

      如果出现以下类似的输出,证明安装成功

        #java -version
      java version "1.8.0_66"
      Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
      Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
  2. 安装elasticsearch

    • elasticsearch官网下载elasticsearch安装包

    • 将安装包放于要安装的目录,解压

        $unzip elasticsearch-2.3.2.zip
    • 启动看是否成功,注意不能用root用户

        $bin/elasticsearch
  3. 安装Marvel管理插件(选装)

    • 先从Kibana下载界面下载Kibana

    • 解压kibana,并修改配置文件,将elasticsearch路径指向上一步elasticsearch的访问路径,默认为 http://localhost:9200

    • 安装Marvel

        $bin/plugin install license
      $bin/plugin install marvel-agent
      $bin/kibana —install elasticsearch/marvel/latest
      $bin/elasticsearch
      $bin/kibana
  4. 安装中文分词插件elasticsearch-analysis-ik

    • 若未安装maven,需要先安装maven,可通过yum install maven, brew install maven等安装,也可下载源码解压后将bin目录加入PATH环境变量安装

    • github上下载elasticsearch-analysis-ik源码, 再通过maven打包,并将打好的包拷贝到plugins/ik目录下,解压

        $mvn package
      $cp target/releases/elasticsearch-analysis-ik-{version}.zip to your-es-root/plugins/ik
      $unzip target/releases/elasticsearch-analysis-ik-{version}.zip
      $bin/elasticsearch
    • 简单验证分词插件是否安装成功

      新建索引

        $curl -XPUT http://localhost:9200/index

      配置分词mapping

        $curl -XPOST http://localhost:9200/index/fulltext/_mapping -d'
      {
      "fulltext": {
      "_all": {
      "analyzer": "ik_max_word",
      "search_analyzer": "ik_max_word",
      "term_vector": "no",
      "store": "false"
      },
      "properties": {
      "content": {
      "type": "string",
      "store": "no",
      "term_vector": "with_positions_offsets",
      "analyzer": "ik_max_word",
      "search_analyzer": "ik_max_word",
      "include_in_all": "true",
      "boost": 8
      }
      }
      }
      }'

      加入文档

        $curl -XPOST http://localhost:9200/index/fulltext/1 -d'{"content":"美国留给伊拉克的是个烂摊子吗"}'
      $curl -XPOST http://localhost:9200/index/fulltext/2 -d'{"content":"公安部:各地校车将享最高路权"}'

      搜索

        $curl -XPOST http://localhost:9200/index/fulltext/_search  -d'
      {
      "query" : { "term" : { "content" : "美国" }},
      "highlight" : {
      "pre_tags" : ["<tag1>", "<tag2>"],
      "post_tags" : ["</tag1>", "</tag2>"],
      "fields" : {
      "content" : {}
      }
      }
      }'

      如果有搜索结果,证明中文分词插件已经安装成功

  5. 安装相应的客户端api,如golang客户端api

     go get gopkg.in/olivere/elastic.v3

Elasticsearch中文搜索环境搭建的更多相关文章

  1. ElasticSearch 集群环境搭建,安装ElasticSearch-head插件,安装错误解决

    ElasticSearch-5.3.1集群环境搭建,安装ElasticSearch-head插件,安装错误解决 说起来甚是惭愧,博主在写这篇文章的时候,还没有系统性的学习一下ES,只知道可以拿来做全文 ...

  2. ElasticSearch 中文分词搜索环境搭建

    ElasticSearch 是强大的搜索工具,并且是ELK套件的重要组成部分 好记性不如乱笔头,这次是在windows环境下搭建es中文分词搜索测试环境,步骤如下 1.安装jdk1.8,配置好环境变量 ...

  3. elasticsearch local debug环境搭建

    最近计划看看elasticsearch的源码,首先得把local debug环境搞定. 下载源码.因为公司产线是5.6.5,所以就下载了5.6.5的代码. 源码编译.先进入到/elasticsearc ...

  4. elasticsearch中文搜索优化

    遇到的问题 检索葡萄糖关键字,希望结果仅包含葡萄糖,不包含葡萄:检索葡萄,希望结果包含葡萄糖. 同义词如何配置 如何确保搜索关键词被正确分词 分析器分词流程 分析器扮演着非常重要的角色,ES提供的有内 ...

  5. 学习elasticsearch(一)linux环境搭建(2)——启动elasticsearch

    在启动访问es的过程中遇到了各种的奇葩问题. 1.网上各种版本的启动方式让人眼花缭乱不知如何启动.简单粗暴——到es的bin目录下直接 执行 ./elasticsearch //显示启动,ctrl+c ...

  6. 学习elasticsearch(一)linux环境搭建(1)

    首先安装了Oracle Virtual Box 然后安装了最小版的CentOS.由于vbox自带的操作面板不太好用,于是用了xshell,XShell连接最小版的centOS时遇到的问题记录下. 1. ...

  7. ElasticSearch集群环境搭建

    一 .单机部署 1.下载安装包.解压 2.在window下运行bin/elasticsearch.bat 3.访问localhost:9200 页面显示结果 { "name" : ...

  8. 学习elasticsearch(一)linux环境搭建(3)——head插件安装

    对于5.x的es,head插件不支持 ./elasticearch-plugin install [plugin_name]方式安装. 进入正文 1.首先确保你的机器安装了python,如果没有,请看 ...

  9. Eclipse rap 富客户端开发总结(4):如何搭建 rap 中文开发环境

    Rap中文开发环境搭建大约分为2个部分 1.  rap国际化,详细参加文章(rap开发经验总结(5)-rap国际化之路) 2.rap自带的JFace ,Dialog 等国际化 1.中文包下载地址: h ...

随机推荐

  1. 15.3.14 DP练习2

    拦截导弹 题目 某国为了防御敌国的导弹突击,发展出一种导弹拦截系统. 可是这样的导弹拦截系统有一个缺陷:尽管它的第一发炮弹可以到达随意的高度.可是以后每一发炮弹都不能高于前一发的高度. 某天,雷达捕捉 ...

  2. 机器学习算法( 七、AdaBoost元算法)

    一.概述 当做重要决定时,大家可能都会考虑吸取多个专家而不只是一个人的意见.机器学习处理问题时又何尝不是如此?这就是元算法(meta-algorithm)背后的思路.元算法是对其他算法进行组合的一种方 ...

  3. hdu3667 Transportation 费用与流量平方成正比的最小流 拆边法+最小费用最大流

    /** 题目:hdu3667 Transportation 拆边法+最小费用最大流 链接:http://acm.hdu.edu.cn/showproblem.php?pid=3667 题意:n个城市由 ...

  4. nginx 为什么要反向代理 影藏后端 高效连接(给nginx,他自己返回) 端口冲突解决 多个服务

    nginx 为什么要反向代理  影藏后端   高效连接(给nginx,他自己返回)  端口冲突解决  多个服务 单机使用反向代理可以根据不同url匹配到不同站点   rsync 的工作原理和应用实例 ...

  5. nodejs操作图片方法

    最近项目中用到nodejs做图片服务器,用户上传图片生成缩略图返回地址一系列操作. 原来一直用.net平台,所有都封装好了生成缩略图这种分分钟就解决了,遂度娘一番全是调用imagemagick和gra ...

  6. ASP.NET中26种性能优化方法

    系统类  Type类,Object类,String类, Arrary类,Console类, Exception类,GC类, MarshalByRefObject类, Math类. DateTime结构 ...

  7. 第一百六十节,封装库--JavaScript,ajax注册表单到数据库

    封装库--JavaScript,ajax注册表单到数据库 效果图 前台js var biaodan = $().xu_lie_biao_dan($('form').sh_jd()); //序列化获取表 ...

  8. Pyscripter 不能正确调用另一文件中模块的问题的解析(Internal Engine 和 Remote Engine)

    背景 Pyscripter是python下一个非常流行的开源IDE,笔者一直使用Pyscripter来来编写python脚本. 关于IDE的一些特性本文不在赘述,主要是分享一下今天遇到的一个问题. 问 ...

  9. 【BZOJ】1026: [SCOI2009]windy数(数位dp)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1026 我果然很弱啊... 考虑数位dp.枚举每一位,然后限制下一位即可. 一定要注意啊!在dfs的时 ...

  10. 【vijos】1781 同余方程(拓展欧几里得)

    https://vijos.org/p/1781 学习了下拓欧.. 求exgcd时,因为 a*x1+b*y1=a*x2+b*y2=b*x2+(a-b*[a/b])*y2 然后移项得 a*x1+b*y1 ...