Solr 优化主关键字索引
来源:互联网 发布:和俄罗斯人谈恋爱 知乎 编辑:程序博客网 时间:2024/04/30 20:58
大多在Solr 中的存储的数据有某种类型的主关键字。主关键字作为任何document 的唯一存储值,也是作为某个document唯一性的标识字段,正是因为主关键字在大多数情况下是独一无二的值。尽管如此,这个字段检索到的速度并不是与数据库中的关键字索引一样快的。希望更快,怎么办? Solr 4.x打给我们惊喜。
在字段区域(schema.xml配置中),有如下设置:
<field name="id" type="string" indexed="true" stored="true" required="true" />
关键字区域设置:
<uniqueKey>id</uniqueKey>
一下步骤将优化检索主关键字字段。
1. 使用Lucene弹性检索(flexible indexing)和脉冲编解码器去处理定义的id字段。为了做到这点,需要配置字段类型。
<fieldType name="string_pulsing" class="solr.StrField" postingsFormat="Pulsing40"/>
2. 将修改原来的字段的类型定义:
<field name="id" type="string_pulsing" indexed="true" stored="true" required="true" />
3. 另外,在solrconfig.xml 文件中添加如下配置:
<codecFactory class="solr.SchemaCodecFactory"/>
这样配置是为了使修改的数据被写到反转索引中去。这里使用“PulsingCodec” (postingsFormat="Pulsing40") ,是为了以一种特殊的方式存储唯一的值。在codec编解码器之后有这种思想:当从索引文件中检索文档术语或者文档时,对于低频率术语(term)以一种特殊的方式写入,保存到一个单一的I/O寻找操作中去。正是如此,当大量地检索主关键字段时,能够获得对于这个字段性能的极大提升。
在solrconfig.xml file 的配置是必须的,没有这个配置会报出Exception,而指定这个配置就是让Solr使用codec工厂创建一个codec实例而已。有时,你会发现这样修改,性能上并没有特别显著地提高,可能是由于索引文件少,没法感知到而已。
- Solr 优化主关键字索引
- 关于Solr索引性能优化
- solr优化之增量索引
- 优化solr全量建索引,减少索引时间
- 优化solr全量建索引速度实践
- solr索引
- 浅谈Solr和ElasticSearch建索引性能优化策略
- solr亿万级索引优化实践(一)
- solr亿万级索引优化实践(二)
- solr亿万级索引优化实践(三)
- solr亿万级索引优化实践(四)
- solr优化
- solr优化
- solr的索引更新
- solr索引如何存储
- Solr更新、删除索引
- solr索引分发
- Apache solr tutorial索引
- JAVA 网络编程(TCP 上传图片)
- java语法总结02--数组
- using namespace
- Struts 2.x 高级应用
- mysql开机启动设置
- Solr 优化主关键字索引
- java语法总结03--方法
- 缓存图片 — 或者不缓存 imageWithContentsOfFile imageNamed
- 解决VS编译错误:Failure during conversion to COFF: file invalid or corrupt
- Java语法总结04--内部类
- poj 1953 World Cup Noise
- java零碎要点---Tesseract 3.0,Java OCR 图像智能字符识别技术,可识别中文
- Java语法总结05--异常
- JS This关键字