• ElasticSearch 安装与配置 (windows)


    新工作需要所以开始学一下。。。

    elasticsearch的概念和基本原理:

    elasticsearch是一个类似于nosql数据库的东西,基于Lucene,以json格式储存数据,采用了倒序索引(也叫反向索引),主要用于信息抓取(我的感觉就是字符串查找),所以主要应用在搜索引擎和自然语言处理方面。

    比如有30篇文章,我想找一个字符串出现的位置,普通情况我们要全文搜索,而elasticsearch在存储时,会先把文章分词,然后保存各个关键词出现的位置。这种就是倒序索引(说实话我觉得和普通索引原理差不多,差别有点微妙)。

    然后采用压缩技术保证空间的最大利用。

    elasticsearch的储存方法和压缩技术:

    存了10篇文章,其中第1,3,5,9里面有“张三”这个词出现。

    es就会存入:"张三":1,3,5,9;

    然后压缩为:"张三":1010100010  (10位2进制数字,对应出现的文章id,这样需要存的数字只有一个,比存1,3,5,9要节省很多,以此压缩存储空间)

    上面这个就是5.0之前的压缩方法:bitmap。

    不难想象,这样存储需要的空间是线性增长的,比如你需要存6553500个文档,那么你就需要6553500位的二进制数字存储,那么一个字段的索引中的一个出现位置就需要接近100 * 2byte的空间来表示,所以之后进行了优化(压缩套压缩)

    Roarding bitmaps:把上面压缩后的数字除以65535然后保存商和余数。使得结果进一步压缩。然后保存为100,0 两个数字。需要空间减少了99倍。

    这样等于把数据以65535一组分成了很多组。一个索引存的是2,65534,说明这个词在第2组的第65534篇文章中出现。

     

     如果数据量大于4096个值,用bit set存,如果比较少的话,就直接用2bytes存每个值。 (用java语言,就是数据多就用 Set<byte>来增加效率, 数据少就直接用 short[])。

    系统win7 64

    ES的主要储存方式是json,所以需要能看懂json数据。

    1. 下载

    https://www.elastic.co/cn/downloads/past-releases

    选工具和版本,然后下载(网上使用教程很多都是6.2.4,不过我这里下载的最新版本)。

    elasticsearch本质是存储关键词和出现的位置,英语的句子中单词是用空格和标点符号分开的,很好分词。 I am a student。  ->  I,am,a,student

    但是我们现在处理语言主要针对汉语,所以自带的分词器就不好用了,es会默认每个字一个词,因此需要绑定插件。 

    现在主要的中文分词是用的IK(之前停止更新过一段时间,当时最多支持到elatsicsearc6.4.2,所以当年很多教程安装elasticsearch的时候选择了相对早期的6.2.4,然后那些按教程来的教程也都用的6.2.4...)。

    不过KI最近貌似又开始更新了,而且更新到了2020.4.1的最新版本,所以这里我选择下载elasticsearch的最新版本。

     下载zip包,这样就不用安装了-。-

    然后找个文件夹解压,完成。

    2. 运行

    运行bin文件夹下的 elasticsearch.bat   

    elasticsearch的绑定端口是9200和9300,启动后打开浏览器,输入

    http://127.0.0.1:9200/

    可以看到json格式的elasticsearch信息,说明安装成功

    3. 添加IK插件

     github: https://github.com/medcl/elasticsearch-analysis-ik/releases

    因为是外国服务器所以可能下载会很慢- -我是网上找了个别人下好的百度盘的

    https://www.cnblogs.com/jhtian/p/12688246.html

    下载后解压,新建一个文件夹改名analysis-ik  (很老的版本是改名ik),然后放到elasticsearch的plugins文件夹下。

    再次启动elasticsearch, 看到日志里显示ik加载成功(如果路径错了的话会闪退)。

  • 相关阅读:
    安防教育直播项目应用中RTSPSever组件libEasyRTSPServer编译arm版本报undefined reference to错误问题排查
    RTMP/RTSP/GB28181等协议TSINGSEE青犀能力开放平台汇总
    “Visual Studio.net已检测到指定的Web服务器运行的不是Asp.net1.1版。您将无法运行Asp.net Web应用程序或服务”问题的解决方案
    四大图像库的使用感受:OpenCV/FreeImage/CImg/CxImage
    我做的Java课件——http://sit.uibe.edu.cn/java/
    ARP协议工作原理
    ARP欺骗源码(基于WinPcap实现)
    多线程调用DBUS服务注意事项
    汉译英教程
    IIS5.1安装步骤及测试
  • 原文地址:https://www.cnblogs.com/clamp7724/p/12710326.html
Copyright © 2020-2023  润新知