es倒排索引数据结构,elasticsearch 全文索引
本文主要介绍Elasticsearch的倒排索引和索引操作实例。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。
00-1010什么是倒排索引?2例题3倒排索引要解决的问题?1指数运算?2查询索引配置?3更新索引?4删除索引
目录
倒排索引
倒排索引来源于实际应用中根据属性值查找记录的需要。该索引表中的每一项都包括一个属性值和具有该属性值的每条记录的地址。因为属性值不是由记录决定的,而记录的位置是由属性值决定的,所以就变成了倒排索引。带有倒排索引的文件称为倒排索引文件,简称倒排文件。
一 倒排索引是什么
例如,有以下三个文件:
答:通过Python django搭建一个网站
b:通过Python scrapy抓取网站数据
C: Scrapy-Redis分布式爬虫
现在我们要用Python查询文件。通常,我们遍历每个文件一次。如果文件特别大,每个文件有1亿个字符,总共有1亿个文件。我们必须遍历每个文件,这会消耗大量资源。
在存储文件之前,分析文件,将文件分成单词,并对单词进行索引,例如下面的句子
今天是星期天。我们出去玩吧。
明天是星期天,是假日。
今天天气晴朗
4 xxx
他们出去玩了。
关键词今天,第一条,第三条,周日,第二条,出去玩,第五条,第一条,其实es在做收纳的时候,是比较详细的,如下表所示。
关键词今天出去玩(第1,2,10,2条)(第3,8,1条)周日(第2,12,25,100,3条)(第5,11,24,89,3条)(第1,8,19,2条)。它出现在今天的哪篇文章中
二 举例
1大小写转换问题,比如python和Python应该是同一个词。
2词干提取,looking和looking应视为同一个词
3分词,比如屏蔽系统是屏蔽和系统还是屏蔽系统的一个词。
4.倒排索引文件太大,因此需要压缩和编码。
三 倒排索引待解决的问题
详见官方文件。
https://www . elastic . co/guide/en/elastic search/reference/7.5/indexes . html
2中文文件的正式版本
https://www . elastic . co/guide/cn/elastic search/guide/current/index-settings . html
索引操作
#创建一个新的lqz2索引,包含5个索引片和1个索引副本。
放lqz2
{
设置 : {
索引 :{
碎片数量:5,
副本数量:1
}
}
}
碎片数量
每个索引的主切片数,默认值为5。创建索引后,不能修改此配置。
副本数量
每个主切片的副本数,默认值为1。对于活动索引库,可以随时修改此配置。
一 索引初始化
#获取lqz2索引的配置信息
获取lqz 2/_设置
#获取所有索引的配置信息
获取所有设置
#同上
获取设置
#获取lqz和lqz2索引的配置信息
获取lqz、lqz 2/_设置
二 查询索引配置
#修改的索引副本的数量是2
将lqz/_设置
{
副本数量: 2
}
#如果遇到错误:cluster_block_exception,因为
#这是因为新ES节点的数据目录数据存储空间不足,导致无法从主节点接收同步数据。此时,ES集群会自动将索引片索引设置为只读,以保护数据。
PUT _ all/_设置
{
索引 : {
积木 : {
read _ only _ allow _ delete : false
}
}
}
三 更新索引
#删除lqz索引
删除lqz
以上是Elasticsearch倒排索引和索引操作的细节。关于Elasticsearch倒排索引操作的更多信息,请关注盛行IT软件开发工作室的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。