美文网首页
校园论坛项目总结

校园论坛项目总结

作者: shoulda | 来源:发表于2018-07-15 15:12 被阅读0次

1.Elasticsearch站内搜索模块

es相当于一个分布式的数据库。
参考例子
https://www.letiantian.me/site-search-tutorial/
https://imququ.com/post/elasticsearch.html
https://github.com/letiantian/jianshu-site-search/blob/master/es_search.py
https://www.jianshu.com/p/fa31f38d241e
https://blog.csdn.net/john_bian/article/details/74502323

2.elasticsearch基本原理:

1.对搜索内容进行分词,得到若干搜索词
2.通过倒排索引找到含有搜索词的文章集合
3.通过TF-IDF,余弦相似性计算文章集合中每个文章和搜索内容的相似性
4.根据相似性进行排序,得到搜索结果。
elasticsearch中TF-IDF算法的解析

TF-IDFhttp://www.ruanyifeng.com/blog/2013/03/tf-idf.html
余弦相似性http://www.ruanyifeng.com/blog/2013/03/cosine_similarity.html
es的一些思考
如何看待分词
停止词是非常常见的分词,例如的,the等,一般用法是在分词之后去掉停止词,然后进行索引。这种做法的常见理由是减少索引大小,同时,从理论上可以提升检索速度。
这里有两个问题:
1.索引大小的减少是什么数量级,如果只是减少了1%,这种优化没有必要
2.索引速度的提升是什么数量级,如果只是提升1%,说服力并不大。
是否能达到业务的需求才是目标,如果需要在搜索的这个词的时候有结果,那么上面的做法是不合理的。建议倾向于底层索引不启动停止词,而是根据业务需求在业务层进行必要的停止词的处理。
防止深度搜索
要Elasticsearch返回搜索结果的第10001条到第10010条数据,是一个耗时的操作,因为Elasticsearch要先得到打分最高的前10010条数据,然后从中取出10001条到10010条数据;用户感知到的搜索界面是分页的,每页是固定数量的数据(如10条),用户会跳转到第1001页的搜索结果吗?不会,第1001页的搜索结果有意义吗?没有意义,用户应该调整搜索词。
所以,我们应该限制用户的搜索结果数量。
处理海量数据
项目中的实例中数据量比较小,当数据量大的时候怎么办?事实上,Elasticsearch支持分片和分布式部署,能紧实时的处理海量数据;主要索引耗时会很大,但是搜索会很快。

3.将mysql中的数据同步到elasticSearch

利用一个组件go-mysql-elasticsearch
参考链接:
https://www.jianshu.com/p/96c7858b580f
https://www.helplib.com/GitHub/article_119396
https://github.com/siddontang/go-mysql-elasticsearch/issues/190
https://blog.csdn.net/keda8997110/article/details/50895171

4.mysql中的主从问题

相关文章

  • 校园论坛项目总结

    1.Elasticsearch站内搜索模块 es相当于一个分布式的数据库。参考例子:https://www.let...

  • 软件开发设计项目

    软件开发设计项目: ①求职招聘系统(类似猎聘网) ②短租网(租房网站 类似安居客) ③校园论坛网站 物美价廉!界面...

  • 论坛系统项目【含源码】

    该项目可以用作企业论坛、校园论坛等。可以自定义添加模块,发帖跟帖置顶评论等,适合作为课程设计。 ​使用的技术 前端...

  • 项目总结-园区项目总结

    今年是自己进入这个行业的第一年,做的第一个项目,项目时间:4月21日-11月8日。总结一下想到的问题,为日后作参考...

  • 【总结】2017.01.01

    2017.01.01 - 计划 2016.12月总结 2017.01月计划 项目总结 - 实际完成 项目总结一,二...

  • 2019-03-28

    总结总结项目的各种功能,写一下项目流程

  • iOS 基于 MVC 的项目重构总结

    iOS 基于 MVC 的项目重构总结 iOS 基于 MVC 的项目重构总结

  • 项目总结

    框架 项目后台采用Springboot+Mybatis的架构,前端使用的Vue框架和ECharts组件,使用Mav...

  • 项目总结

    经过一段时间的学习,智慧社区商超管理系统这个项目结束了,这个项目可分为六个部分: 系统需求分析 系统界面原型设计 ...

  • 项目总结

    将近半年多的时间,从产品到设计再到开发,现在我们的APP终于进入了公测阶段,利用这段比较轻松的时间对APP中用到的...

网友评论

      本文标题:校园论坛项目总结

      本文链接:https://www.haomeiwen.com/subject/fxmepftx.html