Solr(1):Solr概述
1 概述
Solr 是一个基于 Apache Lucene 之上的搜索服务器,它是一个开源的、基于 Java 的信息检索库。它旨在驱动功能强大的文档检索应用程序 - 无论您需要根据用户的查询将数据服务到何处,Solr 都可以为您服务。Solr与应用程序的集成以为您服务。
下面是一个如何将 Solr 集成到应用程序中的示例
在上述情况下,Solr 与其他服务器应用程序并行运行。例如,在线商店应用程序将提供用户界面、购物车以及为最终用户购买的方式;而库存管理应用程序将允许商店员工编辑产品信息。产品元数据将保存在某种数据库以及 Solr 中。
Solr的官网: http://lucene.apache.org/solr/
2 特点
Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
在Lucene 主要有个算法被为
倒排索引:使用关键字去搜索文档
正排索引:使用文档的Id 去查询文档,对比文档里面有没有该关键字
倒排索引:就是利用一个Map 集合搞定
Map<String,List<ID>> 这个速度快
正排索引:扫描全表,做个匹配而已
3 工作方式
文档通过Http利用XML或者json 加到一个搜索集合中。
查询该集合也是通过http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等
4 SolrCloud与Solr,lucene关系
4.1 solr与luence的关系
以下为solr官方原文
Many people new to Lucene and Solr will ask the obvious question: Should I use Lucene or Solr?
The answer is simple: if you're asking yourself this question, in 99% of situations, what you want to use is Solr.
A simple way to conceptualize the relationship between Solr and Lucene is that of a car and its engine. You can't drive an engine, but you can drive a car. Similarly, Lucene is a programmatic library which you can't use as-is, whereas Solr is a complete application which you can use out-of-box.
翻译为
许多刚接触Lucene和Solr的人会问一个显而易见的问题:我应该使用Lucene还是Solr?
答案很简单:如果你问自己这个问题,在99%的情况下,你想用的是Solr。
概念化Solr和Lucene之间关系的一个简单方法是汽车及其发动机。你不能开发动机,但你可以开汽车。类似地,Lucene是一个程序库,不能按原样使用,而Solr是一个完整的应用程序,可以开箱即用。
网上有这样的比喻:
(1) lucene是数据库的话,solr就是jdbc
(2) lucene是jar,solr就是一个引用这些jar来写的搜索客户端。Solr是一个可以直接用的应用,而lucene只是一些编程用的库。
4.2 Solr与SolrCloud
SolrCloud是Solr4.0版本开发出的具有开创意义的基于Solr和Zookeeper的分布式搜索方案,或者可以说,SolrCloud是Solr的一种部署方式。Solr可以以多种方式部署,例如单机方式,多机Master-Slaver方式,这些方式部署的Solr不具有SolrCloud的特色功能。
Solr(1):Solr概述相关推荐
- Solr 11 - Solr集群模式的部署(基于Solr 4.10.4搭建SolrCloud)
目录 1 SolrCloud结构说明 2 环境的安装 2.1 环境说明 2.2 部署并启动ZooKeeper集群 2.3 部署Solr单机服务 2.4 添加Solr的索引库 3 部署Solr集群服务( ...
- linux环境下如何查看solr版本,Solr环境搭建(linux)
1. 前言 在5.0版本之前,solr无法作为独立的服务器进行使用,需要将其打包为war包部署在任何Servlet容器内才能使用. 从5.0开始,solr可以单独作为一个独立的Java应用服务器分发使 ...
- Solr 07 - Solr从MySQL数据库中导入数据 (Solr DIH的使用示例)
目录 1 加入数据导入处理器的jar包 2 加入数据库驱动包 3 配置solrconfig.xml文件 3.1 配置lib标签 - 加入驱动jar包 3.2 配置requestHandler标签 - ...
- 02 Apache Solr: 概览 Solr在信息系统架构中的位置
概述: Apache Solr是一个用JAVA语言构建在Apache Lucene项目上的开源的企业级搜索平台.主要特性包含:全文搜索.命中高亮.片段式搜索.实时索引.动态集群.数据库集成.NoSQL ...
- 全文检索引擎Solr系列——Solr核心概念、配置文件
2019独角兽企业重金招聘Python工程师标准>>> Document Document是Solr索引(动词,indexing)和搜索的最基本单元,它类似于关系数据库表中的一条记录 ...
- 【Solr】 solr对拼音搜索和拼音首字母搜索的支持
问:对于拼音和拼音首字母的支持,当你在搜商品的时候,如果想输入拼音和拼音首字母就给出商品的信息,怎么办呢? 实现方式有2种,但是他们其实是对应的. 用lucene实现 1.建索引, 多建一个索引字段 ...
- solr hdfs solr.in.sh
添加 SOLR_OPTS="$SOLR_OPTS -Dsolr.directoryFactory=HdfsDirectoryFactory \ -Dsolr.lock.type=hdfs \ ...
- 【solr】solr介绍
什么是Solr Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展,并对索引 ...
- php solr,PHP: Solr - Manual
SolrQuery::addExpandFilterQuery - Overrides main filter query, determines which documents to include ...
- Solr 16 - Solr中添加、更新、删除数据的几种方式 (在URL上或Web页面中操作)
目录 1 添加/更新索引数据 1.1 JSON格式的操作 1.2 XML格式的操作 2 删除索引数据 2.1 删除符合特定条件的数据 2.2 删除指定ID的数据 2.3 删除全部索引数据 3 在doc ...
最新文章
- php symfony 安装,Symfony的安装和配置方法
- ScriptManager.RegisterStartupScript方法和Page.ClientScript.RegisterStartupScript() 区别
- 给刚入职开发人员的几句心里话
- android volley post 参数,android – 使用Volley POST传递参数
- 【Qt】2D绘图之绘制路径
- [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第51篇]什么是基于ID的加密的安全模型,描述一个IBE方案
- 还在担心没有服务器做不了数据分析?这个免费资源看一下!
- inotify+rsync实时双向同步文件
- Docker 安装 Java Jdk 8、安装 Vim 编辑器
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_3、快速创建SpringBoot应用之手工创建web应用...
- Ubuntu Kvm USB重定向问题解决
- 红海竞争下,「社交+」在中东泛娱乐 App 市场的出海新机遇
- Iphone备份SHSH的方法步骤
- python爬虫之三 —— 淘宝评论
- 基金实时盈亏展现的接口和网页 java
- linux学习-执行cp命令时略过目录
- Git之(三)辅助命令
- MATLAB构造向量
- div四角边框直角、倒角、 圆角、倒圆角
- 古建筑灯光秀投影设计应该注意哪些细节呢?
热门文章
- 完整LIS系统源码 大型医院实验室信息管理系统源码
- Flink实战(三) - 编程范式及核心概念
- 神奇的伽玛函数(上) | 数学之美
- c语言打印空心数字图形,(完整word版)C语言编写打印实心和空心菱形【源码】
- svga插件_svga动画插件,直播svga礼物展示
- 如何制作一个类似Tiny Wings的游戏(2) Cocos2d-x 2.1.4
- EPC 项目 产值确认及开票业务流程
- Excel中的散点图这么强大,学习了!
- Android软件开发教学视频(转载)
- 关于jQuery 两个插件网站