- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Solr的搜索引擎架构
黄海峰
我对开源的理解
开源
什么是开源
怎么用好开源
开源给我们做项目的启示
研究方向
搜索技术
Google
百度
模式
识别
关键字
搜索
语义
分析
神经
网络
关键字搜索
实现手段
SQL+缓存like方式
效率低,费资源
无法实现全文检索
软件+数据库方式
采用分词、索引技术
效率高
搜索准确,内容可控
基于数据库搜索
基于spider抓取
基于全文索引站内搜索软件系统
爬虫方式的页面抓取
采用分词、索引技术
效率高
技术复杂,垃圾信息多
搜索引擎原理
工作原理
中文分词
检索服务
开源分词系统
系统调用
搜索引擎
通过分词建索引
索引服务
介绍
Sphinx
支持操作系统:苹果、Windows、Linux
支持数据库:MySQL、SQL Server、Oracle等
支持文档、文件检索
性能:100万条建索引只需3-4分钟,查询速度在0.x秒(毫秒级)
看看的技术架构
Sphinx
存在问题
查询速度慢
扩展性差
资源消耗大
灵活性不够
简介
Solr
Solr是一个独立的企业级搜索应用服务,它是Java语言开发的搜索引擎服务。
Solr 支持多种输出格式(包括 XML/XSLT 和 JSON 格式)。
Solr已经在众多大型的网站中使用,较为成熟和稳定。
Solr和lucene区别
Lucene就是个SDK,需要开发者自己实现
主要做两件事:
1.建索引
2.数据检索
Solr是一个有HTTP接口的基于Lucene的查询服务器
封装了lucene的接口,增加了新的实现
搜索服务器、企业级、管理
Solr
基本特性
分布式检索
近实时查询
灵活性强
高亮显示
智能提示
查询统计
标准接口
查询速度快
查询功能丰富
Solr
中文分词系统
ICTCLAS - 全球最受欢迎的汉语分词系统
HTTPCWS - 基于HTTP协议的开源中文分词系统
SCWS - 简易中文分词系统
MMSEG4J
盘古分词
庖丁分词
IKAnalyze - 开源的轻量级中文分词工具包
具体介绍地址:/article/31926.htm
构建高可用的搜索引擎(SolrCloud)
案例
Solr+Zookeeper构建分布式搜索
zookeeper是一个为分布式应用提供一致性服务的软件
实现功能:
集中式配置
自动容错
查询负载均衡
具体介绍地址:/july_2/article/detailsSolrCloud
索引(collection)的逻辑图
SolrCloud
Solr和索引对照图
SolrCloud
案例部署图
文档评论(0)