Solr简单介绍

简介

  Solr是一个高性能,采用Java5开发,Solr基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。

工作方式

  文档通过Http利用XML 加到一个搜索集合中。Solr 查询该集合也是通过http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。

Solr与Lucene的关系

1. Solr 是什么?

Solr 是一个开源的企业级搜索服务器,底层使用易于扩展和修改的Java 来实现。服务
器通信使用标准的HTTP 和XML,所以如果使用Solr 了解Java 技术会有用却不是必须的要
求。
Solr 主要特性有:强大的全文检索功能,高亮显示检索结果,动态集群,数据库接口和
电子文档(Word,PDF 等)的处理。而且Solr 具有高度的可扩展,支持分布搜索和索引的
复制。

2. Lucene 是什么?

Lucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的搜索应用程序,
而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta 家族中的一个
开源项目。也是目前最为流行的基于 Java 开源全文检索工具包。
目前已经有很多应用程序的搜索功能是基于 Lucene ,比如 Eclipse 帮助系统的搜索功
能。Lucene 能够为文本类型的数据建立索引,所以你只要把你要索引的数据格式转化的文
本格式,Lucene 就能对你的文档进行索引和搜索。

3. Solr VS Lucene

Solr 与Lucene 并不是竞争对立关系,恰恰相反Solr 依存于Lucene,因为Solr 底层
的核心技术是使用Apache Lucene 来实现的,简单的说Solr 是Lucene 的服务器化。需要
注意的是Solr 并不是简单的对Lucene 进行封装,它所提供的大部分功能都区别于
Lucene。

  Lucene是一套信息检索工具包,但并不包含搜索引擎系统,它包含了索引结构、读写索引工具、相关性工具、排序等功能,因此在使用Lucene时你仍需要关注搜索引擎系统,例如数据获取、解析、分词等方面的东西。 
  首先Solr是基于Lucene做的 , Solr的目标是打造一款企业级的搜索引擎系统,因此它更接近于我们认识到的搜索引擎系统,它是一个搜索引擎服务,通过各种API可以让你的应用使用搜索 服务,而不需要将搜索逻辑耦合在应用中。而且Solr可以根据配置文件定义数据解析的方式,更像是一个搜索框架,它也支持主从、热换库等操作。还添加了高亮、facet等搜索引擎常见功能的支持 

时间: 2024-09-27 08:15:14

Solr简单介绍的相关文章

简单介绍Python2.x版本中的cmp()方法的使用

  这篇文章主要介绍了简单介绍Python2.x版本中的cmp()方法的使用,然而该方法在Python3.x版本中已并不再内置...需要的朋友可以参考下 cmp()方法比较两个列表的元素. 语法 以下是cmp()方法的语法: ? 1 cmp(list1, list2) 参数 list1 -- 这是要进行比较的第一个列表 list2 -- 这是要进行比较的第二个列表 返回值 如果元素是相同类型的,执行比较,并返回结果.如果元素是不同的类型,检查,看看他们是否是数字 如果是数字必要时强制进行数字比较

WML教程2:简单介绍关于WML文件的概念WML Decks

概念|教程 这里简单介绍一个关于WML文件的概念,其他的细节问题会在后面的章节还详细介绍. 声明由于WML语言继承于XML,所以一个有效的WML文档必须包含一个XML声明和一个文件类型声明. 以下就是一个最常用的声明,由于WML语法要求非常严格,为了避免出错,制作者可以直接拷贝粘贴到制作文档. <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" &quo

简单介绍CSS结合JS的运用

css|js 利用CSS配合Javascript的可以做很多更酷的动态页面效果,在本教程的最后给大家简单介绍一下CSS配合JS的应用.首先,我们要搞清楚事件和动作的概念.在客户端脚本中,JavaScript 通过对事件进行响应来获得与用户的交互.例如,当用户单击一个按钮或者在某段文字上移动鼠标时,就触发了一个单击事件或鼠标移动事件,通过对这些事件的响应,可以完成特定的功能(例如,单击按钮弹出对话框,鼠标移动到文本上后文本变色等). 下面介绍几种常见的事件(还用更多事件,请查阅相关资料): onC

web.config 简单介绍

web 叫做web.config当然就是配置网站用的啦 很多东西都可以在这里设置下面简单介绍一下web.config是一个xml文档(现在越来越流行用xml做配置文件了)根元素是configuration 然后包含一个system.web节点 在第三层次是对站点的各种设置web.config可以设置的标签非常之多,那么,简单的做个介绍,当用到的时候可以去好好查阅在web系统中自定义的设置 我经常使用它来保存数据库的一些相关连接数据 之后读取很方便关于浏览器的设置 比如是否允许JavaApplet

简单介绍几个通用的设计原则

经常会听到有人议论,设计很主观化,很难有标准.但一些常见设计法则,还是能够让我们深入浅出,在设计过程中给予我们一些辅助.以下就简单介绍几个: 1.Flexibility-Usability Tradeoff 弹性-使用性权衡 弹性,即样样知晓,无一精通.当弹性增加时,单个功能的使用性就会降低,引发效率降低,复杂性.时间以及开发的成本增加. 如何兼顾功能的丰富和使用性,弹性需求在何种情况下是有意义的?简单来说,用户对其未来需求没有清楚的期望值时,可以多做一些功能去试探用户的功能需求.如,拥有多功能

DNN调度管理解析(一)-----简单介绍及其API

简单介绍 调度管理是DNN提供给开发者在一定的时间间隔实现调度任务的一种机制. 类似,它也是在提供者模式的基础上实现的,所以可以不更改核心代码就创建新的或修改原有的调度服务.查看有关资料你会发现这是DNN核心团队的成员Dan Caron 的巨大贡献: It was during this time that Dan Caron single-handedly made a significant impact on the project. Based on his experience wit

PHP.ini安全配置检测工具pcc简单介绍

  这篇文章主要介绍了PHP.ini安全配置检测工具pcc简单介绍,这款工具非常实用,可以检测PHP配置文件中得配置项是否存在安全隐患,并提出相应的配置建议,需要的朋友可以参考下 概述 前一段时间,在工作中遇到了一个开源程序,该程序主要用来检测PHP配置文件中得配置项是否存在安全隐患,并提出相应的配置建议,使PHP程序更加安全. 使用 这个程序使用起来非常简单,大家可以自行使用.下面是程序运行截图:

简单介绍JavaScript的变量和数据类型

  这篇文章主要介绍了简单介绍JavaScript的变量和数据类型,是JS入门中的基础知识,需要的朋友可以参考下 JavaScript数据类型: 编程语言的最根本的特征之一是一组它支持的数据类型.这些是可被表示和操纵的编程语言的值的类型. JavaScript允许有三个基本数据类型: 数字如. 123, 120.50 等. 字符串如 "This text string" 等. 布尔类型,如 true 或 false. 的JavaScript还定义了两种数据类型:null和undefin

简单介绍Python的Django框架的dj-scaffold项目

  这篇文章主要介绍了简单介绍Python的Django框架的dj-scaffold项目,用于辅助Django框架的目录设置,需要的朋友可以参考下 由于Django没有象rails一样指定项目的目录结构规范,很多人都对django项目的目录结构要如何组织而感到困惑.为此我又新创建了一个开源项目dj-scaffold(django的脚手架).这个项目用于自动生成一个标注化的django项目和app. 项目地址:https://github.com/vicalloy/dj-scaffold 安装 已