FST逐渐回应ES里的全文索引是啥,推荐给大家

lxf2023-12-14 06:10:02

文中已经参与「」 又是一个招聘面试季,身旁有思路的小伙伴们当然逐渐,写个人简历,网上投简历,招聘面试,做题,自然也难免聚一聚,那样,我收获了一个现代感慢慢地面试回答,也是从FST逐渐回应ES里的全文索引是啥,推荐给大家。

A哥(嘿咻嘿咻)招聘面试是指后端工程师,因为在下家企业项目之中使用了ES logstash技术实现日志剖析,因此,A哥对DSL句子有一定的了解,自然就写到简历上,因此招聘者看了一下个人简历,便开始聊:

“使用过ES?”

“没错,以前项目使用的是ES logstash做日志收集,那时我承担是指日志剖析,DSL句子很了解”

"哦,能够说一下DSL之中的模糊搜索吗"?听A哥这样说,招聘者打起来了精神实质。

"自然...."

一顿狂聊,A哥嘴巴都起白沫了,招聘者还是有一些迟疑,

"你可以再说一下ES的全文索引吗?"

ES

A哥推了推近视眼镜

FST逐渐回应ES里的全文索引是啥,推荐给大家 最先,ES都是基于文本文档和半结构化数据的分布式系统,也有人认为是百度搜索引擎或是文本文档分析引擎。它给予精准搜索与分析结构型、半结构化文档、数据库的作用,能够实现大数据技术高效率的检索。

全文索引

ES使用了全文索引,谈到全文索引就必须要先提一下检索,这一念及从mysql逐渐也就有了,以赋值新闻文章做为实例,如果对于违法行为的具体内容添加索引,当进行搜索的情况下,便会手里拿着搜索关键词到信息之中,一一配对,而全文索引乃是先用匹配算法,(ES使用的是TF/IDF匹配算法,这一A哥不太熟,所以并没有聊)具体内容中文分词,随后制作一个词汇表来搜集词,制作一个映射表来措辞偏向具体内容,查看时,依据映射表偏向具体内容,那么这样的字典 映射表的算法设计便是全文索引了,显而易见在这样的场景中,检索效率远低于全文索引。

这儿补一张模拟图:

FST逐渐回应ES里的全文索引是啥,推荐给大家

谈到这儿,招聘者或是回味无穷

FST逐渐回应ES里的全文索引是啥,推荐给大家

FST

嗯,全文索引的底层完成都是基于:FST(Finite State Transducer)算法设计的,ES根据Lucene ,Lucene在4版本号之后就开始广泛使用FST算法设计,由于es应用作为前缀字典树 (term index)和后缀名字典树(term dictionary)相匹配Lucene后缀名为tip和tim文件。前缀树中存放词汇的作为前缀及相匹配作为前缀的语块的后缀名字典树地址,后缀名字典树中存放着相对应的后缀名语块,及每一个词相对应的id目录详细地址,比如:

这里还是3d贴图一张:

FST逐渐回应ES里的全文索引是啥,推荐给大家

而FST作用是将键入的词汇搭建上面的结构,那样,可能就凸显出它的益处:

1、根据前缀树,压缩了存放,减少使用空间(这哪不喜欢)。

2、查看也比较快,算法复杂度是O(n),而n便是词汇的长短

后面

说到这儿,招聘者露出满意的微笑:

“你期望薪资多少钱?什么时候能办理入职?” 桀桀桀

大约转述,还有不准确的地区还望各位大佬多多关照。 文中已经参与「」

本站是一个以CSS、JavaScript、Vue、HTML为中心的前端开发技术网址。我们的使命是为众多前端工程师者提供全方位、全方位、好用的前端工程师专业知识和技术服务。 在网站上,大家可以学到最新前端开发技术,掌握前端工程师最新发布的趋势和良好实践。大家提供大量实例教程和实例,让大家可以快速上手前端工程师的关键技术和程序。 本站还提供了一系列好用的工具软件,帮助你更高效地开展前端工程师工作中。公司提供的一种手段和软件都要经过精心策划和改进,能够帮助你节约时间精力,提高研发效率。 此外,本站还拥有一个有活力的小区,你可以在社区里与其它前端工程师者沟通交流技术性、交流经验、处理问题。我们坚信,街道的能量能够帮助你能够更好地进步与成长。 在网站上,大家可以寻找你需要的一切前端工程师网络资源,使您成为一名更加出色的网页开发者。欢迎你添加我们的大家庭,一起探索前端工程师的无限潜能!