Solr学习之五
一、段管理
段是一个自包含,仅可读的solr的索引的子集。一旦一个段被刷新到持久存储后,它将不会改变。当添加新文档到你的索引时候,它们被写入到新的段中。因此,在你的索引中,有很多激活的段。一次查询必须从所有的段中去读数据,以便获得一个完成的结果集。从某种意义上说,有许多小的段将会影响你的查询性能。合并许多小段到少数的大段的过程一般被称为段的合并。
二、优化索引
优化索引是一个强制Lucene去合并存在的段到一定数量的大段的操作,这一定数量默认值为1.
举个例子,一个具有32个段的索引,优化后,只有一个段。因此优化是个需要耗费cpu、内存、和磁盘空间的昂贵操作,特别是对于大索引而言。一个大索引的完全优化,可能花费几个小时也不稀奇。
Solr社区对于是否优化索引的建议是更改你的段合并侧率。一个优化过的索引并不意味这慢的查询会突然变快。相反有时候不优化索引,查询性能仍然是可以接受的。
索引合并配置:
配置项 | 作用 |
ramBufferSizeMB |
在文档被刷新到目录之前的缓存大小的最大内存设置;默认是100MB。增加这个值将会 缓存更多的文档在内存中,从而在索引的时候减少磁盘的IO。 |
maxBufferedDocs | 在文档被刷新到目录之前,缓存的最大文档数量;默认值为1000个文档。 |
mergePolicy | 控制Lucene执行段合并,比如决定多少个段合并为一个段。默认为TieredMergePolicy。 |
mergeFactor | 控制一次合并多少个段。默认为10.最优设置,取决于你的平均文档大小,可用的内存和渴望的索引的吞吐量。 |
mergeScheduler | 控制何时段合并运行。默认是在后台并发执行的,用的配置为:concurrentMergeScheduler |
虽然这些配置在solrconfig.xml被注释掉,但是,后台段的合并在你的索引中仍然是可用的。在后台执行的。我建议你避免优化,避免更改段合并的设置,除非建索引的吞吐量成为你程序的问题的时候。
删除处理
在段被刷新到磁盘之后就是不可以改变的。删除操作,并不会从存在的段中删除已经存在的文档。
删除的文档并不会从你索引中删除,直到包含删除的段被合并。在底层,Lucene通过一个单独的数据结构来跟踪段。在大多数情况下,你不用担心合并进程。
Solr学习之五的更多相关文章
- Solr学习总结(六)SolrNet的高级用法(复杂查询,分页,高亮,Facet查询)
上一篇,讲到了SolrNet的基本用法及CURD,这个算是SolrNet 的入门知识介绍吧,昨天写完之后,有朋友评论说,这些感觉都被写烂了.没错,这些基本的用法,在网上百度,资料肯定一大堆,有一些写的 ...
- Solr学习总结(五)SolrNet的基本用法及CURD
上一篇已经讲到了Solr 查询的相关的参数.这里在讲讲C#是如何通过客户端请求和接受solr服务器的数据, 这里推荐使用SolrNet,主要是:SolrNet使用非常方便,而且用户众多,一直都在更新, ...
- Solr学习笔记之3、Solr dataimport - 从SQLServer导入数据建立索引
Solr学习笔记之3.Solr导入SQLServer数据建立索引 一.下载MSSQLServer的JDBC驱动 下载:Microsoft JDBC Driver 4.0 for SQL Server ...
- Solr学习笔记之2、集成IK中文分词器
Solr学习笔记之2.集成IK中文分词器 一.下载IK中文分词器 IK中文分词器 此文IK版本:IK Analyer 2012-FF hotfix 1 完整分发包 二.在Solr中集成IK中文分词器 ...
- Solr学习笔记之1、环境搭建
Solr学习笔记之1.环境搭建 一.下载相关安装包 1.JDK 2.Tomcat 3.Solr 此文所用软件包版本如下: 操作系统:Win7 64位 JDK:jdk-7u25-windows-i586 ...
- Solr学习(2) Solr4.2.0+IK Analyzer 2012
Solr学习(二) Solr4.2.0+IK Analyzer 2012 开场白: 本章简单讲述如何在solr中配置著名的 IK Analyzer 分词器. 本章建立在 Solr学习(一) 基础上进 ...
- Solr学习笔记之5、Component(组件)与Handler(处理器)学习
Solr学习笔记之5.Component(组件)与Handler(处理器)学习 一.搜索篇 拼写检查(spellCheck) 作用:用来检查用户输入的检索内容是否存在,如果不存在则给它提示出相近或相似 ...
- Solr学习笔记之4、Solr配置文件简介
Solr学习笔记之4.Solr配置文件简介 摘自<Solr in Action>. 1. solr.xml – Defines one or more cores per Solr ser ...
- Solr学习之二-Solr基础知识
一 基本说明 简单来说Solr是基于Lucene的高性能的,开源的Java企业搜索服务器.Solr可以看作一个Web app,运行在tomcat或Jetty这类HTTP服务器上, 底层是一个基于Luc ...
随机推荐
- 项目重命名&复制项目&删除项目
项目重命名&复制项目&删除项目 CreateTime--2016年10月15日17:25:43 Author:Marydon 1.修改项目名或者复制的项目名 第一步: my ...
- JProfiler 解决 Java 服务器的性能跟踪
作者:徐建祥(netpirate@gmail.com) 时间: 2006/01/05 来自:http://www.anymobile.org 1.摘要......................... ...
- oracle-imp导入小错filesize设置
***********************************************声明*************************************************** ...
- TP3.2:实现Ajax无刷新上传图片
1.基于TP3.2+ajaxfileupload进行无刷新上传图片,本次只上传一张,多张以后搞出来再发 2.效果: 3.html代码: <html> <head> < ...
- HDUOJ-------2149Public Sale
Public Sale Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- HDUOJ---The number of divisors(约数) about Humble Numbers
The number of divisors(约数) about Humble Numbers Time Limit: 2000/1000 MS (Java/Others) Memory Lim ...
- Foundations of Machine Learning: The PAC Learning Framework(1)
写在最前:本系列主要是在阅读 Mehryar Mohri 等的最新书籍<Foundations of Machine Learning>以及 Schapire 和 Freund 的 < ...
- jQuery:用 lightTreeview 实现树形分类菜单的功能 展开收缩分类代码
最近在做前端开发项目中,需要用到树形结构.在网上查阅到了许多相应资源.其中觉得lightTreeview是一款非常不错的JQ树形分类菜单代码,结构简单,支持多级.还有详细的参数可以配置,以实现各种效果 ...
- &&和;和||符号的意思
http://www.cnblogs.com/xuxm2007/archive/2011/01/16/1936836.html在命令行可以一次执行多个命令,有以下几种: 1.每个命令之间用;隔开 ...
- C# 自定义文件格式并即时刷新注册表 非关闭explorer
转自:http://blog.csdn.net/zhangtirui/article/details/4309492 最近公司在做一个项目 用到关于自定义格式的文件,但在注册表图标更改后 文件图标 ...