Solr

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

特点

Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。Solr提供的功能包括全文搜索、命中高亮、分面搜索、实时索引、动态集群、数据库集成、NoSQL特性以及丰富的文档处理能力。

历史

Solr由Yonik Seeley在2004年创建于CNET Networks,并于2006年开源,随后在2007年成为apache软件基金会的一个顶级项目。Solr的发展历程中,不断增加新功能和性能提升,如2008年的分布式搜索功能,2010年与Lucene项目的合并,以及2012年Solr 4.0版本中引入的SolrCloud功能。Solr的版本编号在2011年更改,以匹配Lucene,保持版本号一致。Solr 5.0标志着Solr作为独立应用程序的打包,Solr 6.0增加了对并行SQL查询的支持,而Solr 7.0引入了对多种副本类型的支持和自动扩缩。Solr 8.0增加了对HTTP/2的支持和安全性改进。2021年,Solr被确立为独立于Luceneapache项目。2022年发布的Solr 9.0是第一个独立于Lucene的版本,它引入了KNN搜索、更好的模块化和更多安全插件

工作方式

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

社区

Solr拥有一个活跃的开发社区,由个人和公司贡献新功能和错误修复。Solr的支持和培训由Lucidworks等公司提供,同时Solr Operator由Bloomberg捐赠给Lucene/Solr项目,帮助在kubernetes中部署和运行Solr。

参考资料

友情链接