elasticsearch word2vec_【技术漫画】从诗词大会飞花令到Elasticsearch原理解析

郑重声明:漫画人物和故事情节均是原创,未经同意禁止任何形式的转载,侵权将进入法律程序。欢迎大家转发文章,谢谢!

小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了。

65129e2d77e67be33d289f5602330964.png

随着央视诗词大会的热播,小史开始对诗词感兴趣,最喜欢的就是飞花令的环节。

但是由于小史很久没有背过诗词了,飞一个字很难说出一句,很多之前很熟悉的诗句也想不起来。

2a5e689da006f8998a770434ab4816da.png

d2e1aee77d87d2561d16881150c8da3c.png

acf71b8ad5ffd0bf721b3a84eee12aef.png

277f62eb10fdd8b65e25c80d559ff020.png

c3f2e8cfe72cf235c7a2d6ed11ae30e2.png

b34c2729f64ff328d99052802be22d22.png

ceb42987a96e5da6f24be38f04450217.png

62304cae3f3630ebbabaebac5bdf269d.png

9457f345eec3ce95b9c69eea5a64d93b.png

20b32fa381153e28903afc6d4eb0f91c.png

【倒排索引】

ca1ed48be135e1b73afe7084fefd5f8f.png

7138498498d1e4880671a245148cb829.png

598432d4a8ab52f584c62669e20c0c65.png

99f26eaf78425d65816a20e0cfa88931.png

d32e28a6621b1c3536e25840c9cab7ab.png

fec25501d9d90b2a34ec7438ad5249f7.png

吕老师:但是我让你说出带“前”字的诗句,由于没有索引,你只能遍历脑海中所有诗词,当你的脑海中诗词量大的时候,就很难在短时间内得到结果了。

c8c6238c7c73f36deaa5150e921b40bd.png

a942f96ea31e271465cc36d3414c3a89.png

355bb97a7385d44c5ed40c69f4a0a256.png

ccfdb7ee0b74d4aab68ced6b0ac7fac9.png

a35184ac7d918651bdff2a2af7a9cbee.png

966efc686aebb01be915838cc077ff40.png

3a40bd42815c6b4fc0f157b7953232d3.png

【索引量爆炸】

f8755b233d93c06935080017ca6ee3d2.png

ee9a56be3ca0a23a9b3e86e079aebee3.png

a43f962385718388b03df527faef838a.png

d7f4bc6a40da103618bd5b525c102f12.png

55a5fff962b6a8555978e68c7af9be11.png

bbf241095d24112336d7a21cbf1fdd18.png

d56036d6f3d428b27f3ce87d5cb870d4.png

76f90ffb5ee82f5dab29f21336c54933.png

1f882115c9ff7d9a15ebf31a6fcce4ee.png

e51455d269d93399e0856459da8613d9.png

fe13b72d26c8e70fba57095e4a678de1.png

3bfc43425b33d207120405f966fd6e5a.png

1438617f8851df5e8234335fc4b56b1f.png

153e254bbaa64048397fb7fd789076ae.png

796a2f8cf441473fe6178382b9fef600.png

95f691a34a4fdc093e6367dddf0abe39.png

a7b98133024faca066cf5d79ba3b0b58.png

4952a3c26a0616c10c828494e1833bcc.png

3764b9018987e3f9171062376c5cfeb9.png

【搜索引擎原理】

e7d57b24d27ec9a6268a59ae085c934d.png

1d54b8b19d654a6e8402f0e95be76b2a.png

0fd89c5099b178c39e1f7beb52a6cea4.png

c090b2db67e972a1e178ba690c847e41.png

46252de3eb663be3c14d452d299cde1f.png

259b522a410c4c369be0baafeebda890.png

0dd5d5de791df35cca94f59507c7b868.png

4beac1c12c397893784ba9d2cfd57de7.png

f9439f984499cca6fd4b98dce8e4a95e.png

3c3f0384ea9f5fea1060e4745b23dc2c.png

50de3bad1453ad5898f3fa0aa347a7fe.png

ff377e5162e5c402cbf0ee8a252bba8c.png

13373ad5b95d8f3a79acec03b34090c4.png

073f30724c386641d69be9996c0db9b2.png

f450ba99d4c36684fb665cc5d9a7fcf0.png

【elasticsearch简介】

475833fcaa38e6484d6d2146a7f6f0fb.png

cb8889b70a18b5a008902dfdec0db303.png

9d819e5722523d815564286d46d951d4.png

847a334dce23c4142f34e524cdb095f5.png

46b8b8f20e9b0eab936d13de813c8746.png

吕老师:但是lucene还是一个库,必须要懂一点搜索引擎原理的人才能用的好,所以后来又有人基于lucene进行封装,写出了elasticsearch。

0269022d7576224fe93d53aef0a89a40.png

3a29b6e437c6b11bbbf74b31cc5cc9ca.png

9065bc07d3f2da34ab892053d8d55551.png

be954d31b1b6fe93b996faf274cb588e.png

852ebb1487d109b997dae06a9b97cd9f.png

dcd0d8956cadf47cd10c39b792752ce1.png

【elasticsearch基本概念】

1a29e05dde31c443a35d2bac8755ce97.png

7cb5f1a2058237c7de8ce64dd02ee703.png

86852648bb1167c93cfd330e60d9baf8.png

b2107116e01e3c8ae259e1b00f49ab16.png

539f46fa4ff53a2432914e46452e14a8.png

吕老师:类型是用来定义数据结构的,你可以认为是mysql中的一张表。文档就是最终的数据了,你可以认为一个文档就是一条记录。

0b6f02ec83b3ba73d3522b59b90bae71.png

29d470d96cd613c44090399b9d231722.png

b2d4d14bf8e65a3ade558ccf90243e11.png

吕老师:比如一首诗,有诗题、作者、朝代、字数、诗内容等字段,那么首先,我们可以建立一个名叫poems的索引,然后创建一个名叫poem的类型,类型是通过mapping来定义每个字段的类型,比如诗题、作者、朝代都是keyword类型,诗内容是text类型,而字数是integer类型,最后就是把数据组织成json格式存放进去了。

87b8fc42fc34431dd256db928ba1f658.png

5b1d5093a72b7d0242b4fffd49ff27c3.png

b38298ba8154f5fcb64e52640012aede.png

吕老师:这个问题问得好,这涉及到分词的问题,keyword类型是不会分词的,直接根据字符串内容建立反向索引,text类型在存入elasticsearch的时候,会先分词,然后根据分词后的内容建立反向索引。

4ab04b4767d60ac85c279b137ebb0d16.png

18977163dd948aa53aa150ce7142b36b.png

2f8856aade90b6a4b42737769b79b0fc.png

吕老师:之前我们说过,elasticsearch把操作都封装成了http的api,我们只要给elasticsearch发送http请求就行。比如使用curl -XPUT 'http://ip:port/poems',就能建立一个名为poems的索引,其他操作也是类似的。

88975c820be881268e473e223e6938e1.png

【elasticsearch分布式原理】

dfaed542f4f84c2b975278b9486f0033.png

831b440b08383fcb27f15ea68c005a14.png

吕老师:没错,elasticsearch也是会对数据进行切分,同时每一个分片会保存多个副本,其原因和hdfs是一样的,都是为了保证分布式环境下的高可用。

4444a9b207ce5cc284a326e810da1a68.png

d5ab2e4f38755697229adb46505cfdf9.png

e07a9c9834a2b3f0a300cd98dc9446af.png

吕老师:没错,在elasticsearch中,节点是对等的,节点间会通过自己的一些规则选取集群的master,master会负责集群状态信息的改变,并同步给其他节点。

9bdd1a61d1d61da5af55041acad5d8a6.png

c44d5c57368179cc4c8a53418e808c23.png

77f2a5aad4bc849111f47363f39c3bab.png

1858af19c7f2e7341f2760f805e14aea.png

a573488f369f7d5200f8f21a5a300d2e.png

吕老师:注意,只有建立索引和类型需要经过master,数据的写入有一个简单的routing规则,可以route到集群中的任意节点,所以数据写入压力是分散在整个集群的。

3b09f5946b2d90d2e406c64edf8070ab.png

【elk系统】

36655c8f8935fdbaa91c26dbe036eb9a.png

06a0cb4c1f04abc884673e43f11a998a.png

吕老师:其实很多公司都用elasticsearch搭建elk系统,也就是日志分析系统。其中e就是elasticsearch,l是logstash,是一个日志收集系统,k是kibana,是一个数据可视化平台。

803732f6e1ba682d42970805a798c606.png

fd83ac7b36f18aa8dcbec77228a14f58.png

f05949357d64d7af16d574a65a62364b.png

吕老师:分析日志的用处可大了,你想,假如一个分布式系统有1000台机器,系统出现故障时,我要看下日志,还得一台一台登录上去查看,是不是非常麻烦?

b19e5fe331a61113316d0e521cae1031.png

fd0906863a520f698205051829f0947b.png

吕老师:但是如果日志接入了elk系统就不一样。比如系统运行过程中,突然出现了异常,在日志中就能及时反馈,日志进入elk系统中,我们直接在kibana就能看到日志情况。如果再接入一些实时计算模块,还能做实时报警功能。

8a866e6c8cce05a8477b43acbd5a3e80.png

9bb91514fc5237ac5cff03566a1cffd3.png

d91219340e0f8618faf148cdf403f505.png

【笔记】

小史学完了elasticsearch,在笔记本上写下了如下记录:

1、反向索引又叫倒排索引,是根据文章内容中的关键字建立索引

2、搜索引擎原理就是建立反向索引

3、elasticsearch在lucene的基础上进行封装,实现了分布式搜索引擎

4、elasticsearch中的索引、类型和文档的概念比较重要,类似于mysql中的数据库、表和行

5、elasticsearch也是master-slave架构,也实现了数据的分片和备份

6、elasticsearch一个典型应用就是elk日志分析系统

写完,又高高兴兴背诗去了。

观书有感

朱熹

半亩方塘一鉴开,天光云影共徘徊。

问渠那得清如许?为有源头活水来。

推荐阅读

想了解深度学习、机器学习、NLP?这些笔记你一定喜欢:何时能懂你的心——图卷积神经网络(GCN)GraphSAGE:我寻思GCN也没我牛逼

从此明白了卷积神经网络(CNN)

如果你愿意一层一层剥开CNN的心——你会明白它究竟在做什么

Hello NLP——关于word2vec你想知道的一切(精美手绘笔记)机器学习算法复习手册——决策树机器学习算法复习手册——SVM

全套笔记请至公众号菜单,戳【这有惊喜】

7c437d5ce1cfd6178b15399c6f202ea8.png

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值