solor快速_Solr原理?为什么要用Solr?Solr为什么比较快?
什么是Solr?
Solr是一个用java开发的基于lucene引擎的 全文搜索 平台,原理是倒排索引,从关键字到文档的过程,Solr的资源都是以Doc为对象进行存储的,每个文档都由一系列的field构成,每个field表示资源的一个属性,文档的fied可以被索引,用于提高性能的搜索效率,一般情况下文档都包含一个能唯一表示该文档的id字段。
Solr原理?
倒排索引
通过value查找key,假设文章1 内容为123,文章2 内容为 456,文章3 内容为 789,
Solr有个功能是分词,先把文章123导入到服务器后,文章1切成1,2,3 ,原本123是文章内容,分词后,123变为三个 单独的索引,1,2,3相当于key,文章为value,文章2 和3与1类似,切成456789六个索引,他们的value就是文章序号2和3.
索引为什么快?
索引以文件的形式存储在磁盘上,所以只使用更少的磁盘io 次数的数据结构更适合做索引。b 树和b+树是是多叉树,树的度大,所以高度低。内存和磁盘交互的单位是页,将b 树和b+树的一个节点的大小设置为一个页,能保证一次io 就能读到一个页,同时磁盘采用预读策略,一次性读取相邻的几个页,读入内存后在进行二分查找。
简单说就是因为索引使用B+树,空间换时间 。
为什么要用Solr?
随意的数据不可能是根据数据库的字段查询的,那是怎么查询出来的呢,为什么千奇百怪的关键字都可以查询出来呢?
答案就是全文检索工具的实现,luncence采用了词元匹配和切分词。举个例子:北京天安门----luncence切分词:北京 京天 天安 安门 等等这些分词。所以我们搜索的时候都可以检索到。
有一种分词器就是IKanalyzer中文分词器,它有细粒度切分和智能切分,即根据某种智能算法。
这就使用solr的最大的好处:检索功能的实现。
Solr为什么比较快?
倒排索引,使用solr的分词过后吗,通过二分法与排序好的索引进行匹配,进而快速查到定位文档
空间换时间
操作:
主要是SolrTemplate完成文档操作和搜索
SolrTemplate、Query、Criteria
solr会考虑集群
solr索引库在商品状态发生改变的时候(审核通过、删除),会通过activeMQ通知更新。
solr搜索结果,可以通过redis缓存
solor快速_Solr原理?为什么要用Solr?Solr为什么比较快?相关推荐
- solor快速_solr:快速开始
明年工作主要和搜索有关,在自己学习过程中分享让更多人受益是我一贯的做法,所以我会把对Solr的学习在这里与大家分享一下,如果你也对搜索也感兴趣,也是新手,那么就和我从头开始吧. 今天我们要讲的是快速开 ...
- solor快速_Solr快速入门
1. 什么是Solr Solr是基于lucene的全文检索服务器. 不同于lucene工具包,solr是一个web应用,运行在servlet容器,屏蔽了底层细节,并对外提供服务. Solr创建及维护索 ...
- solor快速_Solr快速入门(一)
概述 本文档介绍了如何获取和运行Solr,将各种数据源收集到多个集合中,以及了解Solr管理和搜索界面. 首先解压缩Solr版本并将工作目录更改为安装Solr的子目录.请注意,基本目录名称可能随Sol ...
- solor快速_Solr快速教程-下载及安装
Solr快速教程 加载及配置步骤: 1.下载最新版本的Solr(当前为v1.4): 下载地址:http://lucene.apache.org/solr/ 选择resource-download下载 ...
- solor快速_Solr快速概述
Solr 是一个基于 Apache Lucene 之上的搜索服务器,它是一个开源的.基于 Java 的信息检索库.它旨在驱动功能强大的文档检索应用程序 - 无论您需要根据用户的查询将数据服务到何处,S ...
- solor快速_Solr快速教程
本教程包括获取和运行 Solr,将各种数据源摄入到多个集合中,并对 Solr 管理和搜索接口有一定的了解. 它被组织成三个部分,每个部分都建立前一个部分之上.本章的第一个练习将要求您启动 Solr,创 ...
- Solr原理?为什么要用Solr?Solr为什么比较快?
什么是Solr? Solr是一个用java开发的基于lucene引擎的 全文搜索 平台,原理是倒排索引,从关键字到文档的过程,Solr的资源都是以Doc为对象进行存储的,每个文档都由一系列的field ...
- 【STM32F429的DSP教程】第25章 DSP变换运算-快速傅里叶变换原理(FFT)
完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547 第25章 DSP变换运算-快速傅里叶变换原理(F ...
- 提升点击如何实现百度关键词快速排名原理!
提升点击如何实现百度关键词快速排名原理!现在市面上有很多点击提升排名的软件,那网站提升点击靠谱吗?提升点击如何实现百度关键词快速排名原理的呢?下面"AD2"流量家工程师为大家来分享 ...
最新文章
- 二十大未来最有潜力的新材料(绝对经典值得收藏)
- java框架之Spring 核心框架体系结构
- uni-app 请求封装
- 不能装载通讯模块。驱动程序安装不正确。
- 芯片支持的且会被用到的H.264特性 预测编码基本原理
- 【云服务】云服务案例分析Quiz
- python编程基础张勇答案_Python程序开发、编程基础阶段试题及答案
- Leetcode每日一题:36.valid-sudoku(有效的数独)
- python从入门到精通-Python从入门到精通
- Django下载文件名称不显示,中文乱码问题
- sepic电路MATLAB,cuk电路matlab仿真
- Far away from home
- 股票十档行情数据接口怎么看?
- 大班线描机器人_大班线描画-有趣的巨人
- 首次曝光:大厂都是这样过1024的,看的我酸了
- 蜗牛睡眠软件测试准吗,蜗牛睡眠怎么判断深睡 知道深睡方法
- 网桥工作原理及题目分析
- 个人英文小词典--抽取英文阅读重要的名词、动词、形容词、副词并输出其翻译结果
- QQ群推广的13杀招
- ubuntu20.04中安装划词翻译_科研干货 | 知云文献翻译,英文文献阅读必备神器!...