zoukankan      html  css  js  c++  java
  • Solr学习01:Solr基础知识

      一、什么是solr

      首先,要了解下Solr是什么,以下是官方的描述。

      Solr是一个来自Apache Lucence项目,是一个热门开源的企业级搜索平台。为目前世界上相当多的大型互联网站点提供搜索和导航服务。

      [http://wiki.apache.org/solr/]

       Solr使用Java语言写的,作为一个独立的全文检索服务器项目,可运行在如Jetty或Tomcat等servlet容器中。(Solr提供了层面搜索(就是统计)、命中醒目显示并且支持多种输出格式(包括XML/XSLT 和JSON等格式)。它易于安装和配置,而且附带了一个基于HTTP 的管理界面。) Solr在核心全文索引及搜索中使用Lucence的Java搜索类库,并且拥有REST风格的HTTP/XML 或JSON接口,使它很容易的在各种编程语言中使用。Solr强大的外部配置,允许为几乎任何类型的应用定制而不需要Java编码,而当需要更高级定制的时候,它的扩展插件机制就可以满足这一点。(可以使用 Solr 的表现优异的基本搜索功能,也可以对它进行扩展从而满足企业的需要。)   

      Solr的主要特性如下:

      1. 强大的全文检索功能;
      2. 高亮功能;
      3. 面搜索功能;
      4. 接近实时的索引创建;
      5. 动态聚类;
      6. 数据库整合;
      7. 富文本处理,如 Word和PDF;
      8. 空间搜索;
      9. 高可靠性、伸缩性和容错能力。提供分布式索引,复制,和负载平衡的查询。自动故障转移和恢复,易于配置等;
      10. 可扩展的插件扩展体系。

      二、什么是Lucene

      因为Solr是基于Lucence的扩展,所以也了解下Lucene。

      Lucene是一个基于Java的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。

      Lucene 目前是 Apache Jakarta(雅加达) 家族中的一个开源项目。也是目前最为流行的基于Java开源全文检索工具包。目前已经有很多应用程序的搜索功能是基于 Lucene ,比如Eclipse 帮助系统的搜索功能。Lucene能够为文本类型的数据建立索引,所以你只要把你要索引的数据格式转化的文本格式,Lucene 就能对你的文档进行索引和搜索。

      官网:[http://lucene.apache.org/]

      三、Solr vs Lucene

      Solr与Lucene 并不是竞争对立关系,Solr 依存于Lucene,因为Solr底层的核心技术是使用Lucene 来实现的。

      Solr和Lucene的本质区别有以下三点:搜索服务器,企业级和管理。
      Lucene本质上是搜索库,而Solr是独立的应用程序。Lucene专注于搜索底层的建设,而Solr专注于企业应用。Lucene不负责支撑搜索服务所必须的管理,而Solr负责。 所以说,一句话概括 Solr:  Solr是Lucene面向企业搜索应用的扩展。Solr使用Lucene并且扩展了它。

      Solr与Lucene架构图:

    拥有动态字段(Dynamic Field)和唯一键(Unique Key)的数据模式(Data Schema)
    对Lucene查询语言的强大扩展!
    支持对结果进行动态的分组和过滤
    高级的,可配置的文本分析
    高度可配置和可扩展的缓存机制
    性能优化
    支持通过XML进行外部配置
    拥有一个管理界面
    可监控的日志
    支持高速增量式更新(Fast incremental Updates)和快照发布(Snapshot Distribution)

  • 相关阅读:
    记一次省赛总结
    护网杯一道密码学的感想
    配置phpstudy+phpstorm+xdebug环境
    python 模板注入
    hash扩展攻击本地实验
    kali rolling更新源之gpg和dirmngr问题
    web信息泄露注意事项
    ctf常见php弱类型分析
    文件上传小结
    ctf变量覆盖漏洞
  • 原文地址:https://www.cnblogs.com/relucent/p/4107444.html
Copyright © 2011-2022 走看看