ElasticSearch 安装与配置 (windows)

摘要:
例如,有30篇文章。我想找到字符串的位置。通常,我们需要全文搜索。在存储弹性搜索时,我们首先对文章进行分段,然后保存每个关键词的位置。弹性搜索的存储方法和压缩技术:已经保存了10篇文章,其中“张三”一词出现在1、3、5和9中。弹性搜索的本质是存储关键词及其位置。英语句子中的单词由空格和标点符号分隔,这有利于分词。再次启动弹性搜索,日志显示ik已成功加载。

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

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篇文章中出现。

ElasticSearch 安装与配置 (windows)第1张

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

系统win7 64

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

1. 下载

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

ElasticSearch 安装与配置 (windows)第2张

选工具和版本,然后下载(网上使用教程很多都是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的最新版本。

ElasticSearch 安装与配置 (windows)第3张

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

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

2. 运行

运行bin文件夹下的 elasticsearch.bat

ElasticSearch 安装与配置 (windows)第4张

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

http://127.0.0.1:9200/

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

ElasticSearch 安装与配置 (windows)第5张

3. 添加IK插件

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

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

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

ElasticSearch 安装与配置 (windows)第6张

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

ElasticSearch 安装与配置 (windows)第7张

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

ElasticSearch 安装与配置 (windows)第8张

免责声明:文章转载自《ElasticSearch 安装与配置 (windows)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ise 界面参数四层板学习(二)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SQL Serever学习16——索引,触发器,数据库维护

  sqlserver2014数据库应用技术 《清华大学出版社》  索引 这是一个很重要的概念,我们知道数据在计算机中其实是分页存储的,就像是单词存在字典中一样 数据库索引可以帮助我们快速定位数据在哪个存储页区,而不用扫描整个数据库 索引一旦被创建就会数据库自动管理和维护,增删改插座数据库都会对索引做修改 索引分类: 聚集索引 非聚集索引 包含性列索引...

Oracle内部错误:ORA00600:[6033]一例

一套HP-UX上的9.2.0.8系统,某条查询语句执行时出现ORA-00600: internal error code, arguments: [6033], [], [], [], [], [], [], []内部错误,错误trace信息如下: *** SESSION ID:(583.18281) 2010-12-20 22:49:01.364 ***...

elasticsearch版本不同,批量查询也不相同

网上搜到批量查询可以通过TransportClient实现,但官方推荐使用RestHighLevelClient实现 注意: We plan on deprecating the TransportClient in Elasticsearch 7.0 and removing it completely in 8.0. Instead, you shou...

Solr学习02:搭建Solr环境

一、安装虚拟机   Solr 必须运行在Java1.6 或更高版本的Java 虚拟机中,运行标准Solr 服务只需要安装JRE 即可,但如果需要扩展功能或编译源码则需要下载JDK 来完成。可以通过下面的地址下载所需JDK 或JRE :   OpenJDK ( http://java.sun.com/j2se/downloads.html )  Sun (h...

MySQL/MariaDB数据库的索引工作原理和优化

MySQL/MariaDB数据库的索引工作原理和优化 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 实际工作中索引这个技术是影响服务器性能一个非常重要的指标,因此我们得花时间去了解一下索引的相关特性。索引是一把双刃剑用得好可以快速查询数据,用得不好数据库查询速度不仅慢还降低服务器性能,浪费磁盘空间。 一.索引概述 1>.什么是索引...

ElasticSearch(三):ES单机版本基本操作之删除,修改,插入

1. 创建索引 1.1 直接创建索引 可以直接使用head插件创建索引,指定分片数和备份数即可。如下图: 1.2 创建结构化索引 上图创建的索引,点开索引信息,mapping是空的,表示该索引的字段并没有指定,我们可以在创建索引的时候直接指定其字段名来创建。 使用POSTMAN进行创建(任何工具都行,习惯) 请求路径:localhost:9200/bo...