主要内容
-
Solr简介
-
Solr搜索原理
-
Solr单机版安装
-
可视化管理界面
-
新建核心
-
分词
-
Dataimport
-
使用SolrJ操作Solr
-
Spring Data for Apache Solr
-
SolrCloud
-
学习目标
| 知识点 | 要求 |
|---|---|
| Solr简介 | 掌握 |
| Solr搜索原理 | 掌握 |
| Solr单机版安装 | 掌握 |
| 可视化管理界面 | 掌握 |
| 新建核心 | 掌握 |
| 分词 | 掌握 |
| Dataimport | 掌握 |
| 使用SolrJ操作Solr | 掌握 |
| SolrCloud | 掌握 |
| Spring Data for Apache Solr | 掌握 |
一、Solr简介
1.为什么使用Solr
在海量数据下,对MySQL或Oracle进行模糊查询或条件查询的效率是很低的。而搜索功能在绝大多数项目中都是必须的,如何提升搜索效率是很多互联网项目必须要考虑的问题。
既然使用关系型数据库进行搜索效率比较低,最直接的解决方案就是使用专用搜索工具进行搜索,从而提升搜索效率。
2.常见搜索解决方案
基于Apache Lucene(全文检索工具库)实现搜索。但是Lucene的使用对于绝大多数的程序员都是“噩梦级”的。
基于谷歌API实现搜索。
基于百度API实现搜索。
3.Solr简介
Solr是基于Apache Lucene构建的用于搜索和分析的开源解决方案。可提供可扩展索引、搜索功能、高亮显示和文字解析功能。
Solr本质就是一个Java web 项目,且内嵌了Jetty服务器,所以安装起来非常方便。客户端操作Solr的过程和平时我们所写项目一样,就是请求Solr中控制器,处理完数据后把结果响应给客户端。
4.正向索引和反向索引
只要讨论搜索就不得不提的两个概念:正向索引(forward index)和反向索引(inverted index)。
正向索引:从文档内容到词组的过程。每次搜索的实收需要搜索所有文档,每个文档比较搜索条件和词组。
| 文档 | 词组 |
|---|---|
| I am a chinese | I,am,a,chinese |
反向索引:是正向索引的逆向。建立词组和文档的映射关系。通过找到词组就能找到文档内容。(和新华字典找字很像)
| 词组 | 文档 |
|---|---|
| I,am,a,chinese | I am a chinese |
本文详细介绍了Solr搜索技术的基本概念及其应用场景。首先探讨了在海量数据环境下使用传统数据库进行搜索存在的问题,并提出使用专业搜索工具Solr作为解决方案。接着介绍了Solr的特点,包括其基于Lucene构建的背景、索引机制、搜索原理等。此外,还概述了Solr的安装配置过程及主要功能模块。
736

被折叠的 条评论
为什么被折叠?



