Solr的特性都在这儿了

Posted 中兴大数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Solr的特性都在这儿了相关的知识,希望对你有一定的参考价值。


>>>>

这是 中兴大数据 204篇原创文章






Solr 是一种可供企业使用的、基于 Lucene 的搜索服务器,它支持层面搜索、命中醒目显示和多种输出格式。


一旦用户需要某种信息,就可以立即搜索到这些信息,这种要求再也不是可有可无的了。随着 Google 和类似的复杂搜索引擎的出现,用户希望得到高质量的搜索结果,帮助他们快速、轻易地找到所需的信息。


使用 Apache Solr可以满足所有的这些要求,它是一种开放源码的、基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中。Solr 提供了层面搜索、命中醒目显示并且支持多种输出格式(包括 XML/XSLT和 JSON 格式)。它易于安装和配置,而且附带了一个基于 HTTP 的管理界面。您可以坚持使用 Solr 的表现优异的基本搜索功能,也可以对它进行扩展从而满足企业的需要。


Solr 还拥有一个活跃的开发者群体,如有需要,您可以随时向他们寻求帮助。

 

Solr支持的特性如下:


Data Handling


使用模式或无模式,都很容易定义字段类型,分析流程和文档结构,从而帮助你的搜索应用程序成功。


  • 模式

Solr 同时支持无模式和模式。

无模式(数据驱动模式)能够方便的切换到使用配置模式的生产环境。


  • 字段类型

Solr可以很方便的定义混合类型字段,并且不需要编写代码就可以匹配lucene分析程序。


  • 动态字段

动态添加新的字段,并且根据字段名称自动映射字段类型。


  • 复制字段

支持对同一份内容使用不同的方法进行分析。


  • 过滤词汇

支持通过外部配置文件设置无用词列表,同义词列表和受限词列表。


  • 分析组件

支持多个文本分析组件,包括分词,正则表达式和遏制等。


  • 可扩展

支持应用程序方便的处理其专有格式和solr不支持的数据类型。


Querying


  • REST接口

使用REST接口,支持与各种语言交互。


  • 字段排序

支持对任意个字段进行排序。


  • 查询函数

    提供了强大的基于数据相关性优化的功能。


  • 调优选项

提供相关性调优选项使应用程序优化结果以便符合其需要。


  • 查询解析

提供多个查询解析方法,使solr容易找到您需要的数据。


  • 查询处理方式配置

支持配置请求处理方式为服务端处理,简化应用程序处理。


  • 查询过滤器

支持应用设置多种查询过滤器。


  • 可插拔的查询解析器

支持应用提供自定义的查询解析器。


  • 游标

支持下一代NoSQL数据存储和分析特性—游标。


  • 准实时搜索

支持访问刚刚添加或者更新的文档。


Faceting


Solr 将以导航为目的的查询结果成为facet。它不会修改查询结果信息,只是在查询结果上根据分类添加了count信息,然后用户根据count信息做进一步的查询。


比如淘宝的查询列表中,上面会显示不同类目相关查询结果的数量。


比如搜索数码相机,在搜索结果栏会根据厂商、分辨率等维度列出。这里厂商、分辨率就是一个个facet。


在厂商下面会有nikon,canon,sony等品牌,这个叫约束(constraint)。


然后根据选择,列出当前的导航路径,这个叫面包屑(breadcrumb)。

 

  • 分层面

支持以多种方式分组和组织用户数据。


  • 性能优化

支持细粒度的控制,以便在CPU和内存资源间找到平衡。


  • 多条件查询

支持多条件查询,包括范围查询,日期查询等,以及多条件组合查询。


Discovery


集群、拼写检查、自动完成,更方便地帮助用户查找内容。


  • 输入联想

支持输入联想,方便用户更快的查找。


  • Carrot2聚类工具

集成Carrot2聚类工具,支持动态搜索结果聚类。


  • 拼写检查

支持拼写检查,方便用户更准确的查找。


  • 高亮配置

支持高亮配置,是用户更聚焦查询结果。


Plugins and Extensions


  • 支持插件

支持插件功能,比如在语言检查、集群、数据导入等方面,应用都可以实现自己的插件。


  • 扩展接口

定义良好的扩展接口,比如建立索引、查询解析、请求处理等接口,方便应用编写自己的处理插件和是否使用该功能。

 

Statistics and Aggregations


  • 商业智能

支持复杂的数学分析以及基于搜索的下一代商业智能。


Spatials


位置感知搜索。


地理位置在空间搜索中至关重要!地理位置不仅在地产中至尊为王,将其用在搜索中还能帮助位于特定位置的用户快速找到有用的信息。例如,如果您是企业名录提供商(比如一个 “黄页” 站点),当用户需要找一位水管维修员时,该站点必须返回在用户住所附近的维修员。如果您运营的是一个旅游站点,那么您必须让旅游者能够搜索到他们所在的位置附近的名胜,从而帮助他们丰富旅游行程。如果您要构建一个社交网络站点,那么最好使用位置信息来帮助用户与朋友联系。位置感知设备(比如汽车导航系统和支持 GPS 的摄像机)和大量免费地图数据的普及为构建能够为终端用户搜索高级结果的 Geographical Information Systems (GIS) 提供了各种机会。

 

  • 开箱即用的支持位置感知搜索

使应用程序能够发现和基于位置的内容进行过滤。


  • 支持多种空间数据

广泛支持代表复杂空间数据,如:多边形,纬度/经度等。


  • 支持复杂查询功能

支持多种查询条件,如:多边形,纬度/经度等。


  • 集成Java 拓扑库

集成Java拓扑库,提供了先进的空间数据处理能力。


Rich Content


  • 集成Apache Tika

无需编写一行代码能够提取和处理丰富的内容类型。


  • 支持多种数据格式

处理各种数据类型,包括JSON、XML、办公文档、CSV等。


  • 灵活和可扩展的输入和输出格式

方便应用与Solr进行自定义格式的交互。


  • 高级处理选项

很容易控制提取内容索引和如何建立索引。


Performance


支持分页查询,limit关键字限制查询记录数。


  • 支持性能的调优

提供经过良好测试的性能,以及细粒度的调优参数。


  • 支持集群

支持单节点到多节点的分布式集群的一键式升级。


  • 支持智能缓存

多种智能缓存方式,严格控制重复的结果。


  • 支持lucence最新版本

总是建立在最新最好的Lucene上,利用Lucene性能增强而增强自身性能。


  • 支持编解码器

支持的编解码器,替代目录实现和提供先进的性能调优的选择。


Scaling with SolrCloud


  • 支持增加和删除节点

根据需要添加和删除计算能力,同时让Solr做负载平衡。


  • 支持碎片分裂

碎片分裂很容易逐步增加处理能力,不需要对已有内容重新建立索引。


  • 支持一致性

Solr基于zookeeper支持一致性和避免分裂问题。


  • 支持内置用户界面

内置的用户界面,提供集群运行状态。


  • 支持数据安全

先进的事务日志,复制和故障转移功能帮助减少数据丢失。


  • 支持定期大规模测试

大规模定期测试,处理成千上万的计算节点和数十亿的文档的查询量。


User Interface


  • 支持监控报表

广泛的报告和控制接口可以很容易理解和改变Solr的运行状态,包括性能数据。


  • 支持查看线程,日志和系统属性


  • 支持调试,包括查询接口和高级分析接口。



以上是关于Solr的特性都在这儿了的主要内容,如果未能解决你的问题,请参考以下文章

Java新特性Lambda表达式典型案例,你想要的的都在这儿了!!

Java新特性Lambda表达式典型案例,你想要的的都在这儿了!!

Solr6.0重要新特性解析

C++14新特性的所有知识点全在这儿啦

Solr新特性4.x,5.x,6.x

02 Apache Solr: 概览 Solr在信息系统架构中的位置