标签:失败 时机 key 否则 存在 新功能 出现 导致 文档
一.Solr4.x新特性
1.近实时搜索
Solr的近实时搜索【Near Real-Time,NRT】功能实现了文档添加到搜索的快速进行,以应对搜索快速变化的数据。
2.原子更新与乐观并发
原子更新功能允许客户端应用对已有文档上进行添加、更新、删除和对字段增值等操作,而且无需重新发送整个文档。当存在两个请求同时更改同一个文档时,Solr使用乐观机制防止不兼容的更新。简单来说就是Solr使用特殊的_version_版本字段来确保文档的安全更新语义。两个请求中后提交更改的请求将会获得一个过时的版本【这个版本是两请求都未执行之前的版本,然后先提交的请求会执行并修改版本号】,所以会执行失败【请求执行之前需要先确认版本,只有版本一致才可以执行请求】。
3.实时GET功能
无论文档是否已经提交到索引,使用实时GET功能都可以使用唯一标识符检索最新版本的索引【事务日志提供支撑】。这与使用行键【row key】检索数据的Cassandra的键-值存储方式类似。在Solr4之前,除非文档提交到Lucene的索引,否则是检索不出来的。且提交很花费时间,影响查询性能。
4.使用事务日志实现写持续性
当文档发送到Solr进行索引时,会被写到事务日志中,以防止服务器发生故障造成数据丢失。Solr的事务日志处在客户端应用与Lucene索引之间,对实时GET功能提供必要的支持,使其可以不考虑文档是否已经提交到Lucene,直接通过唯一标识符进行检索文档。Solr的事务日志解除了更新可见性与更新持久性之间的绑定。也就是说,文档可以持久存储,但不出现在搜索结果中。事务日志可以控制提交的文档在搜索结果中出现的时机,避免在提交之前因服务器出现故障而导致数据丢失。
5.使用Zookeeper实现简易分片和复制
在Solr4.x之前,需手动进行扩容。在Solr4.x之后,SolrCloud让扩容变得简单和自动化。在Solr中,Zookeeper负责指定分片代表与分片副本,并对服务请求可用的服务器机芯跟踪。SolrCloud与Zookeeper是绑定的,因此SolrCloud的启动无需做任何额外的配置和安装。
未完待续。。。
标签:失败 时机 key 否则 存在 新功能 出现 导致 文档
原文地址:https://www.cnblogs.com/yszd/p/11520271.html