Apache Solr 是一个基于Apache Lucene项目的开源,免费,平台无关且高性能的搜索服务器,使用XML / HTTP和JSON API。该项目目前正在Apache软件基金会孵化。
功能一目了然
主要功能包括点击突出显示,分面搜索,缓存,复制,基于Web的管理界面,高级全文搜索功能,针对大量网络流量以及基于标准的开放接口(如HTTP)进行了优化,XML和JSON。
此外,它还具有全面的HTML管理界面,服务器统计信息,自动索引复制,自动恢复和故障转移,近实时索引,XML配置的适应性和灵活性,以及可扩展的插件架构。
该项目是无模式的,允许用户快速开始使用Apache Solr。目前支持模式和无模式模式,但后者将导致强大的生产环境。
Solr支持各种类型,包括字段类型,它可以帮助您混合和匹配Lucene分析器,而无需编写任何代码。此外,该项目还支持可以即时启用的动态字段。
在其他有趣的功能中,我们可以提到复制字段功能,允许用户使用不同的方法轻松分析相同的内容,支持显式类型以消除猜测字段类型的需要,基于外部文件的自定义配置,如以及许多其他文本分析组件。
引擎盖和可用性
看看Apache Solr的内幕,我们可以注意到该应用程序完全是用Java编程语言编写的,支持Linux的32位和64位版本,以及Microsoft Windows和Mac OS X操作系统。
为方便起见,它以二进制文件和源文件存档的形式分发,因此您可以在尽可能短的时间内轻松开始使用Apache Solr,而且不会有太多麻烦。
什么是此版本中的新:
- 监督员永远无法处理最后的消息。
- 不保留solr独立模式下的重命名核心。
- QueryComponent的rq参数解析不再考虑defType参数。
- 当过滤器子句中的查询术语减少为空时,修复SolrQueryParser中的NPE。
版本中的新功能:
- 除了安全框架中的许多其他改进之外,Solr现在还包括一个AuthenticationPlugin,它实现了HTTP Basic Auth,可以在ZooKeeper中安全地存储凭证。这是访问Solr管理屏幕或API的任何人都需要用户名和密码的简单方法。
- 在构建的AuthorizationPlugin中,它提供了对使用存储在ZooKeeper中的permisssion规则为各种资源实现ACL的细粒度控制。
- JSON Facet API现在可以更改facet命令的域,基本上是在执行块连接并从父项移动到子项,或者在计算构面数据之前从子项移动到父项。
- 新Facet Module / JSON Facet API的性能方面的重大改进。
- Pivot Facets下的查询和范围构面。就像JSON Facet API一样,pivot facet可以嵌套其他构面类型,例如范围和查询构面。
- 更像是此查询解析器选项。 MoreLikeThis QParser现在支持MLT Handler提供的所有选项。查询解析器比处理程序更通用,因为它在云模式下以及可以指定普通查询的任何地方工作。
- 在SolrJ中添加了Schema API支持
- 为查询时加入和阻止加入添加了评分模式。
- 添加了微笑回复格式
版本4.10.3中的新功能:
- Solr 4.10.2包含10个错误修复程序,以及Lucene 4.10.2及其2个错误修复程序。
版本4.6.1中的新功能:
- Apache Tika 1.4
- Carrot2 3.8.0
- Velocity 1.7和Velocity Tools 2.0
- Apache UIMA 2.3.1
- Apache ZooKeeper 3.4.5
- 错误修正:
- SOLR-5408:使用多个排序条件时,CollapsingQParserPlugin得分错误
- (Brandon Chapman,Joel Bernstein)
- SOLR-5416:CollapsingQParserPlugin中断标记/排除分面
- (David Boychuck,Joel Bernstein)
- SOLR-5442:当Tomcat提供服务时,Python客户端无法解析代理响应。
- (Patrick Hunt,Gregory Chanan,Vamsee Yarlagadda,Romain Rigaux,Mark Miller)
- SOLR-5445:代理响应应传播所有标头,而不是每个密钥的第一个标头。
- (Patrick Hunt,Mark Miller)
- SOLR-5479:如果在1秒内找不到请求的负责人,SolrCmdDistributor重试逻辑将停止。
- (马克米勒)
- SOLR-5532:SolrJ内容类型验证对某些webcontainers / proxies来说过于严格。
- (Jakob Furrer,hossman,Shawn Heisey,Uwe Schindler,Mark Miller)
- SOLR-5547:使用SolrJ的CollectionAdminRequest创建集合别名将别名和集合设置为别名为相同的值。
- (Aaron Schram,Mark Miller)
- SOLR-5577:可能ZooKeeper过期不应该减慢给定数量的更新,而是在给定时间后切断更新。
- (Mark Miller,Christine Poerschke,Ramkumar Aiyengar)
- SOLR-5580:使用显式分片和coreNodeName创建核心时的NPE。
- (YouPeng Yang,Mark Miller)
- SOLR-5552:如果分片的所有副本都已关闭并且尝试恢复以及丢失本应已恢复的更新,则领导者恢复过程可以选择错误的领导者。
- (Timothy Potter,Mark Miller)
- SOLR-5569副本不应该尝试从领导者那里恢复,直到它发布它是活动的。
- (马克米勒)
- SOLR-5568 SolrCore不能仅仅因为集群状态说没有其他SolrCore处于活动状态而决定成为领导者。
- (马克米勒)
- SOLR-5496:我们应该在非搜索HttpClients之间共享一个http连接管理器,并确保所有http连接管理器都关闭。
- (马克米勒)
- SOLR-5583:ConcurrentUpdateSolrServer#blockUntilFinished可能会在执行程序服务关闭时永远等待。
- (马克米勒)
- SOLR-5586:应使用zk客户端超时初始化所有ZkCmdExecutor。
- (马克米勒)
- SOLR-5587:ElectionContext实现应使用ZkCmdExecutor#ensureExists来确保正确创建其选举路径。
- (马克米勒)
- SOLR-5540:如有必要,HdfsLockFactory应显式创建锁父目录。
- (马克米勒)
- SOLR-4709:如果配置文件已更改,则复制后的核心重新加载可能会因竞争条件而失败。 (Mark Miller,Hossman))
- SOLR-5503:重试“前进到领导者”的请求不那么激进 - 而不是IOException和状态500,ConnectException。
- (马克米勒)
- SOLR-5588:PeerSync不会将所有连接失败都视为成功。
- (马克米勒)
- SOLR-5564:当尝试回退时,hl.maxAlternateFieldLength应该应用于原始字段
- (janhoy)
- SOLR-5608:不允许关闭的SolrCore将状态发布到ZooKeeper。
- (Mark Miller,Shawn Heisey)
- SOLR-5615:在ZK会话到期后尝试恢复时出现死锁。
- (Ramkumar Aiyengar,Mark Miller)
- SOLR-5543:使用solr.xml持久性时,核心交换在solr.xml中导致重复的核心条目。
- (比尔贝尔,艾伦伍德沃德)
- SOLR-5618:当hashCodes相等且其中一个请求中存在重复的过滤查询时,修复queryResultCache中的虚假缓存命中
- (hossman)
- SOLR-4260:ConcurrentUpdateSolrServer#blockUntilFinished可以在所有先前添加的更新完成之前返回。这可能导致分发的更新意味着副本丢失。
- (Markus Jelsma,Timothy Potter,Joel Bernstein,Mark Miller)
- SOLR-5645:通过CoreContainer重新加载SolrCore将尝试使用新的SolrCore再次在zk中注册。
- (马克米勒)
- SOLR-5636:SolrRequestParsers对每个请求执行一些xpath查找,这可能会导致并发问题。
- (马克米勒)
- SOLR-5658:由于SolrCloud使用javabin分发更新,因此commitWithin和overwrite不会分发到副本。
- (Mark Miller,Varun Thacker,Elodie Sannier,shalin)
- 优化:
- SOLR-5576:在注册并等待所有SolrCore注册DOWN状态时改善并发性。
- (Christine Poerschke来自Mark Miller)
版本4.6.0中
什么是新:
- 分片分割选项的许多改进和增强
- 利用AnalyzingInfixSuggester 的新分析InfixLookupFactory
- 用于高基数字段的高性能字段折叠的新CollapsingQParserPlugin
- 用于馆藏管理的新SolrJ API
- 新的DocBasedVersionConstraintsProcessorFactory,为用户配置的以文档为中心的版本控制规则提供支持
- 新的默认索引格式:Lucene46Codec
- 新的EnumField类型
版本4.5.1中的
新功能:
- Solr 4.5.1包含一些错误修复,包括2个被认为非常严重的修复。
版本4.5.0中的新功能:
- 自定义分片支持,改进的路由和多线程分面。
版本4.2.0中的新功能:
- 架构的读取端REST API。一直想通过http反省架构吗?现在你可以。看起来写方面将会出现。
- DocValues已集成到Solr中。 DocValues的加载速度比字段缓存快很多,并且还可以使用不同的压缩算法以及RAM或磁盘表示。分面,排序和功能查询都会受益。操作系统处理堆的表面和排序缓存怎么样?不再调整60千兆字节堆?每段细分DocValues分面方法如何?改进了数字刻面?甜。
- 收集别名。有时间的数据?想要在临时集合中重新编制索引,然后将其交换到生产中吗?完成。请继续关注Shard Aliasing。
- 收集API响应。收集API在4.0中仍然是非常新的,虽然它在4.1中有所改进,但肯定需要响应,但错过了截止。最初,我们决定使Collection API具有超级容错能力,这使得响应变得更加困难。没有人想通过日志文件来查看事情的结果。完成4.2。
- 与任何节点上的任何集合进行交互。在4.2之前,如果它至少托管了您要查询/更新的集合的一个副本,则只能与集群中的节点进行交互。不再 - 查询任何节点,是否有一个您想要的集合,并获得代理响应。
- 允许自定义分片名称,以便新主机地址可以接管已退役分片。在没有弹性ips的亚马逊上工作?这是给你的。
- Lucene 4.2优化,例如压缩术语向量。
版本3.3.0中的新功能:
- 分组/字段折叠
- 一种新的基于自动机的建议/自动完成实现,可以减少一个数量级的RAM消耗。
- KStemFilterFactory,一个针对英语的低侵略性词干分析器的优化实现。
- Solr默认使用新的更高效的合并策略(TieredMergePolicy)。有关更多信息,请参见http://s.apache.org/merging。
- 重要的错误修正,包括拼写检查中的极高RAM使用率。
- Apache Lucene 3.3的错误修正和改进
版本3.2.0中的新功能:
- 使用JSON更新格式时,能够指定overwrite和commitWithin作为请求参数
- TermQParserPlugin,在根据字段分面或术语组件返回的术语生成过滤器查询时非常有用。
- DebugComponent现在支持使用NamedList对其响应中的说明对象进行建模,而不是说明Expla.toString
- 对UIMA和Carrot2集成的改进
- Apache Lucene 3.2的错误修正和改进
版本3.2.0中的新功能:
- 进行了JSON更新改进。
- 搜索结果集群和UIMA集成得到了改进。
- 修复了错误。
评论没有发现