知识点

相关文章

更多

最近更新

更多

一步一步学solr:什么是solr?

2019-03-27 01:23|来源: 网路

简介

    Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果;

特点

    Solr是一个独立的企业搜索服务器REST-like API。 你把文件(称为“索引”) 通过XML、JSON、CSV通过HTTP或二进制。 你查询它通过HTTP GET和接收XML、JSON、CSV或二进制的结果。

    • 高级全文搜索功能

    • 优化了高容量的网络流量

    • 基于标准的开放接口——XML、JSON和HTTP

    • 综合HTML管理接口

    • 服务器统计数据暴露在JMX监控

    • 线性可伸缩、自动索引复制,自动故障转移和恢复

    • 接近实时索引

    • 灵活和适应性强的XML配置

    • 可扩展的插件体系结构

Solr使用Lucene TM 搜索库和扩展了它!

    • 真正的数据模式,数值类型、动态字段,独特的钥匙

    • 强大的扩展Lucene查询语言

    • 面向方面的搜索和过滤

    • 地理空间搜索支持多个分文档和geo多边形

    • 先进、可配置的文本分析

    • 高度可配置和用户可扩展的缓存

    • 性能优化

    • 外部配置通过XML

    • 一个基于AJAX的管理界面

    • 可监控日志

    • 快接近实时增量索引和索引复制

    • 高度可伸缩的分布式搜索分散指数跨多个主机

    • JSON、XML、CSV / delimited-text和二进制格式更新

    • 简单的方法将数据从数据库和XML文件从本地磁盘和HTTP消息

    • 丰富的文档解析和索引(PDF、Word、HTML等)使用Apache Tika

    • Apache UIMA集成配置元数据提取

    • 多个搜索指数

详细的功能

模式

    • 定义文档的字段类型和字段

    • 可以更智能的处理

    • 声明式Lucene分析仪规范

    • 动态字段支持动态添加新字段

    • CopyField功能允许索引一个领域的多个方面,或将多个字段组合成一个可搜索的字段

    • 显式类型不需要猜测类型的字段

    • 外部文件的配置stopword列表、同义词列表和受保护的单词列表

    • 许多额外的文本分析组件,包括分词、正则表达式和近似读音过滤器

    • 可插入的每个领域相似模型

查询

    • HTTP接口具有可配置响应格式(XML / XSLT、JSON、Python、Ruby PHP,速度、CSV、二进制)

    • 通过任意数量的字段进行排序,并通过复杂的数值字段功能

    • 高级DisMax查询解析器高相关性用户输入的查询的结果

    • 强调上下文片段

    • 分面搜索基于独特的字段值,显式查询,日期范围,数值范围或枢轴

    • 同时选中分类通过标记和选择性地排除过滤器

    • 拼写建议用户查询

    • 更像这个建议给定文档

    • 函数查询——影响的分数通过用户指定复杂的功能 数值字段或查询相关性分数。

    • 范围过滤函数查询结果

    • 日期数学——相对于“现在”指定日期的查询和更新

    • 使用Carrot2动态搜索结果聚类

    • 数值字段统计如最小,最大,平均值,标准偏差

    • 结合查询源自不同的语法

    • 完成用户查询之功能

    • 允许配置的结果为一个查询,覆盖正常的得分和排序

    • 简单的两个文档类型之间的连接能力

    • 性能优化

核心

    • 没有重新启动动态创建和删除文档集合

    • 可插拔的查询处理程序和可扩展的XML数据格式

    • 可插拔的用户查询的功能函数

    • 可定制的基于组件的请求处理程序与分布式搜索的支持

    • 文档独特性执行基于独特的关键字段

    • 文档复制检测,包括模糊附近重复

    • 自定义索引处理链,使索引之前文档操作

    • 用户可配置的命令触发指数变化

    • 与排序字段丢失控制文档的能力将被放置

    • “路加福音”语料库信息请求处理程序

缓存

    • 可配置查询结果、过滤和文档缓存实例

    • 可插拔的缓存实现,包括锁自由、高并发性实现

    • 缓存变暖背景

    • 当一个新搜索器打开,可配置搜索与运行 避免为了温暖起来 缓慢的第一个打击。 在变暖,当前搜索器处理请求。

    • Autowarming背景

    • 最近访问的缓存条目 新搜索器搜索器,使高缓存命中 利率在索引/搜索者的变化。

    • 快速/小过滤器实现

    • 用户级缓存autowarming支持

SolrCloud

    • 集中基于Apache动物园管理员配置

    • 自动化的分布式索引/分片-文档发送到任何节点,它将转发到正确的切分

    • 接近实时索引与直接基于推的复制(也支持基于复制慢)

    • 事务日志可以确保不丢失更新即使还没有索引的文档到磁盘

    • 自动查询故障转移,指数领袖选举和恢复失败的情况下

    • 没有单点故障

管理界面

    • 综合统计数据缓存利用率、更新和查询

    • 互动模式浏览器,包括索引统计信息

    • 复制监控

    • SolrCloud仪表盘图形集群节点状态

    • 完整的日志记录控制

    • 文本分析调试器,显示每个阶段在一个分析器的结果

    • 网页查询接口w /调试输出

    • 解析查询输出

    • Lucene文档得分详细解释()

    • 解释分数以外的文件请求的范围来调试为什么给定文档没有排名更高。


总结

    Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。文档通过Http利用XML 加到一个搜索集合中。查询该集合也是通过http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。

下面将写solr站内搜索的实战,基于solr4.9+tomcat7,欢迎更多好朋友一起讨论。


参考文献:http://wiki.apache.org/solr/



转自:http://my.oschina.net/biezhi/blog/293673

相关问答

更多
  • 兄弟连JavaEE战狼班: 第一阶段:Java语言基础 ★ Java语言基础 1、面向对象思维JAVASE 2、(类加载机制与反射,annotation,泛型,网络编程,多线程,IO,异常处理,常用API,面向对象,JAVA编程基础) 3、Java8新特性 第二阶段:数据库 ★ 数据库 1、Oracle(SQL语句、SQL语句原理、SQL语句优化、表、视图 2、序列、索引、Oracle数据字典、Oracle 数据库PL/SQL开发 3、数据库设计原则、 MySQL 、 JDBC 第三阶段:Web基础 ★ W ...
  • 进入这个网址 http://www.verycd.com/topics/2767912/,把韩顺平老师的视频教程下下来学,很不错
  • 最后一个有好几个选项的么。具体是哪一个错了? 说清楚点,好“对症下药”
  • 1. 先设计数据表,一般留言板需要两个表:留言内容表、回复表 留言内容表:messages 字段如下: id 自动增加 contents 留言内容 messages_time 留言时间 回复表:reply 字段如下: id 自动增加 messages_id 关联messages表的id contents 回复的内容 reply_time 回复时间 2. 设计留言板页面及保存留言数据 大概代码如下: 3. 显示留言内容,遍历数据表 4. 回复的设计可以参照留言的设计
  • 先画身体,壮壮的! 还有‘恐龙'腿!要画粗一点哦。 紧跟着是尾巴!长一点。 添上眼睛和鼻子! 然后就是身上很有特色的恐龙背刺啦! 最后画上一棵树!不知它吃不吃树叶!
  • 呵呵 如果你是高中生的话 我建议你看一下关于国三 国二考试的目录 标准 编程就三种:VC VB VF 个人强烈建议你 多看看有关VC++ 6.0的知识 一开始学的时候 确实很乏味 而且这个东西对于没接触过类似 知道的人 比较抽象 但是 一旦你学出兴趣 那结果不言而喻 还有 什么东西 都贵在坚持
  • 去申请个空间然后再买个域名,然后按提示做就行了 空间1多块钱1兆,域名100元1年,还有各种其它的,你去找电脑老师了解了解,也有专门给人做网页的,不过有点贵。
  • MySQL也是很好安装的,就和APACHE的安装一样。但是大部分人包括我在内,都在配置的最后一步的第三小项目Start Service出现了错误。这十分令人懊恼。由于注册表的原因,我因此重装了系统,XP变身成为2003. MySQL之所以会出现这个错误,原因再简单不过——由于注册表里之前安装过的MySQL信息无法彻底删除导致新的MySQL不能启动。目前的解决方法似乎是将注册表内的旧信息删除,但是由于注册表的目录庞大,若要找到了再删除十分麻烦而且不一定能根除。我试过这一方法,却依然不能启动。最终只有重启了。不 ...
  • 硬件:先学每个硬件的作用.电路接口.组成.结构. 软件:选学软件如何使用.设定.修改.编辑.制做. 网络.先学网络如何使用.作用.构成.编辑.修改.制做.破解 图形图像:先学绘画基本功.专业名词.专业术语.临摸.修改.设计.创作.
  • 有一定的数据库基础吗?没有的话,建议从SQL语句学起。比较好的教材是Oracle OCP认证的《SQL and PL/SQL》。学习SQL的时候,尽可能坚持使用Oracle自带的工具:SQLPLUS。  有了一定的SQL基础后,就要尽可能的了解Oracle的体系结构,这就涉及到了Oracle管理的内容了。《Oracle10g OCP认证手册》这本书不错。 不过,如果是初学者的话,不建议自己去摸索,因为这样往往会如盲人摸象,不仅会事倍功半,而且会有一些错误的概念。你可以去CUUG报个DBA就业培训班进行学习, ...