solr学习(1.2)-初识solr
2017-07-27 01:47
218 查看
solr是什么呢?
一、Solr它是一种开放源码的、基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中。 二、Solr 提供了层面搜索(就是统计)、命中醒目显示并且支持多种输出格式(包括XML/XSLT 和JSON等格式)。它易于安装和配置,而且附带了一个基于 HTTP 的 管理界面。Solr已经在众多大型的网站中使用,较为成熟和稳定。 三、Solr 包装并扩展了 Lucene,所以Solr的基本上沿用了Lucene的相关术语。更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容。 四、通过对Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。 五、此外,很多 Lucene 工具(如Nutch、 Luke)也可以使用Solr 创建的索引。可以使用 Solr 的表现优异的基本搜索功能,也可以对它进行扩展从而满足企业的需要。
solr的优点
通过上面Solr的简介,可知solr的优点包括以下几个方面:①高级的全文搜索功能; ②专为高通量的网络流量进行的优化; ③基于开放接口(XML和HTTP)的标准; ④综合的HTML管理界面; ⑤可伸缩性-能够有效地复制到另外一个Solr搜索服务器; ⑥使用XML配置达到灵活性和适配性; ⑦可扩展的插件体系。
solr VS Lucene!?
在比较solr和Lucene之前,要知道什么是Lucene,那么首先就来回顾Lucene是个什么东东?Lucene是一个基于Java的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta(雅加达) 家族中的一个开源项目。也是目前最为流行的基于Java开源全文检索工具包。目前已经有很多应用程序的搜索功能是基于 Lucene ,比如Eclipse 帮助系统的搜 索功能。Lucene能够为文本类型的数据建立索引,所以你只要把你要索引的数据格式转化的文本格式,Lucene 就能对你的文档进行索引和搜索。
那么,solr和它相比,是”输“了?还是“赢”了呢?
其实,Solr与Lucene 并不是竞争对立关系,恰恰相反Solr 依存于Lucene,因为Solr底层的核心技术是使用Lucene 来实现的,Solr和Lucene的本质区别有以下三点:搜索服务器,企业级和管理。Lucene本质上是搜索库,不是独立的应用程序,而Solr是。Lucene专注于搜索底层的建设,而Solr专注于企业应用。Lucene不负责支撑搜索服务所必须的管理,而Solr负责。所以说,一句话概括 Solr: Solr是Lucene面向企业搜索应用的扩展。
下面是solr和 lucene的架构图:
这个图很繁琐,看不懂,大家不要灰心,在后面的代码里你就能够了解了这个图所讲的。
不难看出,绿色的就是lucene的模块,而蓝色的就是solr扩展了lucene。从图上可以看出以下几点:
a. 一个真正的拥有动态字段(Dynamic Field)和唯一键(Unique Key)的数据模式(Data Schema)
b. 对Lucene查询语言的强大扩展!
c. 支持对结果进行动态的分组和过滤
d. 高级的,可配置的文本分析
e. 高度可配置和可扩展的缓存机制
f. 性能优化
g. 支持通过XML进行外部配置
h. 拥有一个管理界面
i. 可监控的日志
j. 支持高速增量式更新(Fast incremental Updates)和快照发布(Snapshot Distribution)
说到这,solr的简介就到此结束了,相信大家也对solr有了初步的了解
相关文章推荐
- 与LSGO一起学“第1章 初识C++(1.2 C++的发展过程)”
- Solr学习(2)----FieldType总结
- 【C语言学习笔记】初识GCC编译器
- 计算广告学习笔记1.2 广告的基础知识-广告的有效性模型
- C语言中的位运算&结构体浅析 — <编程之美>1.2学习笔记
- 【转】Android开发学习笔记(一)——初识Android
- Solr学习(六)利用Solr的C#客户端SolrNet检索数据
- Caffe学习笔记1:初识caffe篇(caffe介绍)
- Spring学习(一)初识spring
- Solr学习(八)多表导入
- Java学习笔记:初识Java
- solr学习记录1
- Solr学习总结(三)solr查询
- Linux学习初识redhat7(九)
- solr全文检索技术学习(一)-核心配置文件solrconfig.xml
- Solr学习笔记五--solrj的使用(查询文档)
- VMWare vSphere学习笔记之一:初识vSphere
- JavaSE系列学习1.2-Java基础
- 模仿与学习MyBatis - 1.2 DataSource与Session
- Opencv for Python 学习笔记 1.2 图像保存