HK 学习笔记
好久都没有写过博客了,自从换了公司后,一直在忙...时间就更少了,但是学到的东西却是非常多!今天我把学到的东西记下来,当做自己的一个笔记吧,也算是一个学习的心得
搜索引擎架构设计
介绍下我这次说的搜索引擎的主要技术
node.js Sphinx oracle mongodb 下面简单介绍下
node.js 它是一个号称无阻塞的轻量级框架
主要编写语言是javascript
详细:http://nodejs.org
Sphinx
相信大家对它已经很熟悉了吧,是一个基于SQL的全文检索引擎 ,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索...
详细:http://sphinxsearch.com
oracle 数据库
mongodb
高效读写nosql,具体不多说了
详细:http://www.mongodb.org
好了,下面就是架构层面
先看看架构图
好了,结构图有了我就开始说说整个图的各个部分吧
搜索引擎
1.数据源(oracle)
我们提供的数据源当然就是oracle了
2.搜索技术(Sphinx --->>python(读写数据))
Sphinx担任建索引的框架技术
**读取数据**
图上,表明它不单止建索引,而且要从oracle读取数据,我们为什么这样做呢?由于Sphinx里包含了python,而且对oracle驱动支持也是不错的,所以我们不分专门读数据的程序了,直接调用Sphinx的python程序去读取数据,然后再到它本身的目的建立索引
**建立索引**
在建索引的过程中,我们使用了oracle的唯一标识,uuid去做索引,也是单单索引需要的数据,所以我们的索引是非常少(就是因为,以前luncene建索引的时候,把很多相关的内容都保存在索引文件中,导致索引文件过大,当用户过多的访问,就会对服务器造成负载)最后我们才选择了Sphinx
Sphinx luncene 相比,读取大索引文件的时候,Sphinx更有优势,效率更高(题处话)
**写数据**
由于我们得知mongodb的读写高效
我们下了这样的决定,Sphinx的python程序既然把数据从oracle读出来了,那么也写一份到mongodb中吧
3.客户端(node.js)
最后就是我们的客户端了
我们的node.js只向外提供服务,它本身就是一个服务器构架,而且号称无阻塞服务器功能的确非常强大
一个客户端搜索
通过url去访问node.js提供的服务,然后再去调用Sphinx索引文件去查找相关的内容,Sphinx返回结果集,node.js再去mongodb查询内容,最后返回给客户
这就是一个完整的过程(其中细节还有很多,很多,这里就不多说了)
最后,我们可能给搜索引擎加一些缓存技术(这些都是其次吧)...
- 大小: 129.5 KB
分享到:
相关推荐
前公司的分类信息搜索基于此架构,效果明显,甚至将很大一部分带Where条件的MySQL SQL查询,都改用了Sphinx+MySQL搜索。但是,这套架构仍存在局限:一是MySQL本身的并发能力有限,在200~300个并发连接下,查询和...
曾经在七月,写过一篇文章──《基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计》,前公司的分类信息搜索基于此架构,效果明显,甚至将很大一部分带Where条件的MySQL SQL查询,都改用了Sphinx+MySQL搜索...
NULL 博文链接:https://xiangxingchina.iteye.com/blog/932216
一、XX网搜索引擎架构设计: 3 1、搜索引擎架构图(基于PHP+MySQL+Sphinx): 3 2、搜索引擎架构设计思路: 3 ⑴、调用方式最简化: 3 ⑵、创建索引、查询速度快: 3 ⑶、按服务类型进行分离: 4 ⑷、“主索引+...
『OneAPM 技术公开课』NO.1--《电商搜索引擎的架构设计和性能优化》吴英昊.pdf,请放心下载!
搜索引擎不是人人都能做的领域,进入的门槛比较高。所以,本文只是通过查阅资料陈述鄙人陋见而已。
基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
这是一款基于J2EE的搜索引擎的文档,可用于课程设计!
《如何深度融合搜索和推荐:兴趣引擎架构设计》.pdf
基于SSM架构结合全文搜索引擎ElasticSearch的电影搜索系统项目源码.zip 基于SSM架构结合全文搜索引擎ElasticSearch的电影搜索系统项目源码.zip 基于SSM架构结合全文搜索引擎ElasticSearch的电影搜索系统项目源码.zip...
基于本体的网络安全个性化搜索引擎模型设计.pdf
京东商城搜索引擎架构设计原理简介。 搜索引擎,爬虫,架构设计
基于SSM架构结合全文搜索引擎ElasticSearch的电影搜索系统项目.zip基于SSM架构结合全文搜索引擎ElasticSearch的电影搜索系统项目.zip基于SSM架构结合全文搜索引擎ElasticSearch的电影搜索系统项目.zip基于SSM架构...
提纲 ◆什么是电商的搜索引擎 ◆电商搜索引擎的架构和优化方案 ◆实际遇到的问题和解决方案
在那里,你必将会被搜索引擎精致的设计和宏伟的架构所征服。 本书由搜索引擎开发研究领域年轻而有活力的科学家精心编写,作者将自己对搜索引擎的深刻理解和实际应用巧妙地结合,使得从未接触过搜索引擎原理的读者也...
3.1 架构设计 3.2 数据预处理 3.3 查询分析 3.4 查询处理 第四章 语义搜索引擎实现 4.1 数据库设计与实现 4.2 用户界面设计与实现 第五章 系统评测与分析 5.1 实验设计 5.2 实验结果与分析 第六章 总结与展望 6.1 ...
因此,本文在开源的Nutch 搜索引擎架构的基础, 通过构建电力行业词典,利用改进的空间向量算法对抓取内容的相关度进行计算,并对相关内容进行过滤,结合主流的PageRank算法对搜索结果综合排序,并嵌入访问控制模块...
2 搜索引擎相关技术介绍 2.1 Python爬虫技术 2.1.1 python 2.1.2 爬虫概述 2.2 结巴分词 2.3 SPIMI构建索引算法 2.4 计算两两新闻之间余弦相似度 2.5 BM25公式进行打分排序 2.5.1 检索概率模型BM25公式 ...
讲解了搜索引擎中相关性排序算法的种类,特点,还有图像重排序算法。
基于Linux的搜索引擎的设计与实现.pdf