Solr简单介绍

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

简介

  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等搜索引擎常见功能的支持 

目录
相关文章
|
JSON 网络协议 Java
图文详解压力测试工具JMeter的安装与使用
压力测试是目前大型网站系统的设计和开发中不可或缺的环节,通常会和容量预估等工作结合在一起,穿插在系统开发的不同方案。压力测试可以帮助我们及时发现系统的性能短板和瓶颈问题,在这个基础在上再进行针对性的性能优化,也可以帮助我们预估系统的承载能力,使我们能根据其做出一些应对措施。
1681 0
图文详解压力测试工具JMeter的安装与使用
|
人工智能 缓存 Linux
Confluence PDF导出中文支持
Confluence PDF导出中文支持
|
消息中间件 Java 中间件
秒懂消息队列MQ,万字总结带你全面了解消息队列MQ
消息队列是大型分布式系统不可缺少的中间件,也是高并发系统的基石中间件,所以掌握好消息队列MQ就变得极其重要。接下来我就将从零开始介绍什么是消息队列?消息队列的应用场景?如何进行选型?如何在Spring Boot项目中整合集成消息队列。
24707 10
秒懂消息队列MQ,万字总结带你全面了解消息队列MQ
|
前端开发 网络协议 Dubbo
超详细Netty入门,看这篇就够了!
本文主要讲述Netty框架的一些特性以及重要组件,希望看完之后能对Netty框架有一个比较直观的感受,希望能帮助读者快速入门Netty,减少一些弯路。
92300 32
超详细Netty入门,看这篇就够了!
|
9月前
|
算法 定位技术 vr&ar
基于WebGIS技术的校园地图导航系统解决方案
本文提出了一套基于WebGIS技术的校园地图导航系统构建与优化方案,通过校园三维地图、路线导航、特色路线、位置分享等核心功能机框架设计,旨在为用户提供高效、智能、个性化的导航体验。
466 0
基于WebGIS技术的校园地图导航系统解决方案
|
Docker 容器
docker 换国内镜像源,docker换源
docker 换国内镜像源,docker换源
10279 91
|
Web App开发 JavaScript Java
自动化测试的利剑:Selenium WebDriver入门与实践
【9月更文挑战第21天】在软件开发的海洋中,自动化测试犹如一艘船,帮助开发者们快速航行至质量保证的彼岸。本文将作为你的罗盘,指引你了解和掌握Selenium WebDriver这一强大的自动化测试工具。通过深入浅出的方式,我们将探索Selenium WebDriver的基本概念、安装过程以及编写简单测试脚本的方法。无论你是刚接触自动化测试的新手,还是希望提升测试技能的开发者,这篇文章都将为你提供有价值的指导。
|
XML Java 测试技术
testNG框架从入门到精通
testNG框架从入门到精通
testNG框架从入门到精通
|
应用服务中间件 nginx
nginx配置https和直接访问静态文件的方式
nginx配置https和直接访问静态文件的方式
384 3
|
XML 安全 Java
CVE-2017-9805:Struts2 REST插件远程执行命令漏洞(S2-052) 分析报告
一. 漏洞概述 2017年9月5日,Apache Struts 2官方发布一个严重级别的安全漏洞公告,该漏洞由国外安全研究组织lgtm.com的安全研究人员发现,漏洞编号为CVE-2017-9805(S2-052),在一定条件下,攻击者可以利用该漏洞远程发送精心构造的恶意数据包,获取业务数据或服务器权限,存在高安全风险。
10769 1