Solr总结(一)——solr简介

前言

在一些大型门户网站、电子商务网站等都需要站内搜索功能,使用传统的数据库查询方式实现搜索无法满足一些高级的搜索需求,比如:搜索速度要快,搜索结果按相关度排序,搜索内容格式不固定等,这里都需要使用权门搜索技术实现搜索功能。

Solr简介

一、什么是Solr:

1、什么是Solr:
Solr是Apache下一个开源项目,使用java基于Lucene开发的全文搜索服务器。
2、什么是Lucene:
Lucene是一个开放源码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎框架。
3、Solr VS Lucene:

  • Lucene专注于搜索底层的建设,而Solr专注于企业应用

    ○ Lucene是一堆jar包,不能单独运行,也不能独立对外体用服务。使用Lucene开发站内搜索的话,程序员编写的代码量会比较大,而且需要考虑搜索和索引流程的性能。
    ○ Solr对Lucene进行了扩展,提供搜索和索引服务,提供了比Lucene更为丰富的查询语言。程序员只需编写少量的代码,快速的搭建出来站内搜索功能。而且性能方面不需要程序员去考虑,solr对它已经进行了处理。
    这里写图片描述
    这里写图片描述

二、Solr特性

 1. 易于加入到Web应用程序中
 2. 支持通过java和HTTP等方式实现solr的操作
 3. 支持返回XML、JSON、csv等多种格式数据返回
 4. 附带了一个基于HTTP的管理界面
 5. 支持复制到另外一个Solr搜索服务器
 6. 新功能能能够以查件的形式方便的添加到Solr服务中
 7. 支持文件、csv、xml、json、数据库等多种数据导入方式

三、Solr核心组成

  • SolrHome是Solr运行的主目录,该目录中可以包括多个SolrCore目录。
    ○ 每个SolrCore互相独立,而且可以单独对外提供搜索和索引服务。
    ○ Solr实例就是一个SolrCore目录,包含了运行Solr实例所有的配置文件和数据文件
    这里写图片描述
  • 实例
    ○Solr中的实例类似于关系数据库中的表结构,核心配置文件schema.xml
    ○schema.xml文件中包含三部分:字段(Field)、字段类型(FieldType)、唯一键(uniqueKey)

四、索引介绍

1、solr反向索引:
- Solr/Lucene采用的是一种反向索引,即从关键字到文档的映射过程,保存这种映射这种信息的索引称为反向索引
- 左边保存的是一系列字符串,称为词(Term)
- 每个字符串都指向包含此字符串的文档链表
这里写图片描述
2、solr索引组件

  • 分词组件

    ○ 将文档分成一个一个单独的单词
    ○ 去除标点符号
    ○ 去除停词
    
  • 语言处理组件

     ○ 变为小写
     ○ 将点此缩减为词根形式,如“cars”到 “car”等
     ○ 将单词转变为次更形式,如“drove”到“drive”等
     ○ 语言处理组件处理得到的结果称为词(Term)
    

这里写图片描述

  • 索引组件(Indexer)

     ○ 利用得到的词(Term)创建一个字典
     ○ 对字段进行排序
     ○ 合并相同的词和词出现的文档
    

    这里写图片描述

总结

Solr的目标是打造一款企业级的搜索引擎系统,它是一个搜索引擎服务,可以独立运行,通过Solr可以非常快速的构建歧义的搜索引擎,通过Slor也可以高效的完成站内搜索的功能。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值