北京建设部官方网站证书查询,网站备案 中国,thinkphp做网站好吗,优化大师下载安装一.Solr4.x新特性1.近实时搜索Solr的近实时搜索【Near Real-Time#xff0c;NRT】功能实现了文档添加到搜索的快速进行#xff0c;以应对搜索快速变化的数据。2.原子更新与乐观并发原子更新功能允许客户端应用对已有文档上进行添加、更新、删除和对字段增值等操作#xff0c…一.Solr4.x新特性 1.近实时搜索 Solr的近实时搜索【Near Real-TimeNRT】功能实现了文档添加到搜索的快速进行以应对搜索快速变化的数据。 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的启动无需做任何额外的配置和安装。 6.在以前的版本中Solr主目录有配置文件solr.xml进行配置。从Solr4.4之后内核可以被自动发现不再需要在solr.xml中进行配置。 二.Solr5.x新特性 1.schema文件改名为managed-schema。 2.Solr4.x中的deprecated被去掉。 3.从Solr5开始Solr不再以war的形式发布Solr已然成为了一个独立的Java服务端应用已经包括了start和stop脚本并支持Unix和Windows平台。 4.solr.xml中的单位从cores变为solrcloud。 5.在Solr5.x中引入的Streaming表达式允许查询Solr并将结果作为数据流进行排序和聚合。三.Solr6.x新特性 1.对Solr5.x中引入的Streaming表达式增加几种新的表达式类型 使用类似MapReduce的并行表达式来加快high-cardinality字段的吞吐量。 守护程序表达式以支持持续推送或拉取流。 高级并行关系代数如分布式连接、交集、联合和补充。 发布/订阅消息。 用于从其他系统中提取数据并与Solr索引中的文档连接的JDBC连接。 2.并行SQL接口 构建在Streaming表达式的基础上Solr6.x中的新增功能是一个并行SQL接口可以将SQL查询发送到Solr。SQL语句被即时编译为Streaming表达式提供可用于Streaming表达式请求的全部聚合。包含一个JDBC驱动程序它允许使用SQL客户端和数据库可视化工具查询Solr索引并将数据导入到其它系统中。 3.跨数据中心复制 使用主动-被动模型SolrCloud集群可以被复制到另一个数据中心并用一个新的API进行监控。 4.QueryParse图 一个新的图形查询解释器可以使Solr文档建模的定向【循环】图的遍历查询成为可能。 5.DocValues 在Solr示例配置集中的大多数非文本字段类型现在默认为使用DocValues。 6.需要使用Java8 Solr6.x【SolrJ客户端】的Java最低支持的版本是Java8。 7.索引格式更改 Solr6.x不支持读取Lucene/Solr4.x以及更早版本的索引。如果索引中仍存在旧的4.x格式的字段必须运行Solr5.x附带的Lucene IndexUpgrader。另外使用Solr5.x充分优化索引以确保只包含一个最新的索引段。 8.默认为托管模式 当solrconfig.xml没有明确定义时Solr的默认行为依赖于solrconfig.xml定义的luceneMatchVersion。当luceneMatchVersion6.0时ClassicIndexSchemaFactory将继续用于向后兼容否则将使用ManagedIndexSchemaFactory实例。这种变化最显著的影响是现有的solrconfig.xml文件内容被修改为luceneMatchVersion6.0但没有明确配置ClassicIndexSchemaFactory并将schema.xml文件自动升级为managed-schema文件。并且将默认启动通过Schema API进行的模式修改。 9.默认的相似性改变 当Schema没有明确地定义全局时Solr的默认行为将依赖于solrconfig.xml中指定的luceneMatchVersion。当luceneMatchVersion6.0时将使用ClassicSimilarityFactory实例否则将使用SchemaSimilarityFactory实例。可以在SchemaSimilarityFactory声明中指定defaultSimFromFiledType init选项来更改此行为。.值得注意的是这种改变意味着用户可以利用每个字段类型的相似性声明并且需要明确声明SchemaSimilaryFactory的全局用法。 10.副本和碎片删除命令更改 DELETESHARD和DELETEREPLICA修改为默认删除任何复制副本的实例目录、数据目录和索引目录。 11.删除facet.date.*参数 Solr3.x中被废弃的facet.date参数【以及相关facet.date.*参数】已被完全删除。 四.Solr7.x新特性 1.复制模式 直到Solr7.xSolrCloud模型允许任何复制副本在领导者丢失时成为领导者。这对大多数用户来说非常有效在集群出现问题的情况下提供可靠的故障切换。但是由于所有副本必须在任何时候都保持同步因此在大型集群中需要付出代价【副本本身就需要保持同步】。为了提供更多的灵活性已经添加两种新类型的副本TLOGPULL。这些新类型提供了一些选项以便仅通过从前导项复制索引段与引线同步副本。TLOG类型还有一个额外的好处就是其维护一个事务日志【名字叫tlog】如果需要的话它可以恢复并成为领导者。PULL类型不维护事务日志因此不能成为领导者。作为这种改变的一部分传统的副本现在被命名为NRT。如果没有明确定义TLOG或PULL副本则Solr默认创建NRT副本。 2.自动缩放 Solr自动缩放是Solr中的一个新功能套件用于管理SolrCloud集群更加简单和自动化。Solr自动缩放的核心是为用户提供一个规则语法来定义在集群中分发节点和碎片的首选项和策略目的是在集群中保持平衡。从Solr7.x开始Solr将在确定创建或移动各种Collection API命令的新碎片或副本放置到何处时考虑策略和首选项规则。 3.新的默认配置集 data_driven_configset与basic_configset已被删除取而代之的是_defaultconfigset。sample_techproducts_configset还被保留了下来专门与example/exampledocs目录中的Solr附带的示例文档一起使用。当创建一个新的collection时如果不指定configSet默认_default将被使用。如果使用SolrCloud_defaultconfigSet会自动上传到zookeeper。如果使用单独模式instanceDir将会自动创建使用_defaultconfigSet作为基础。Solr7.x之前的版本【以6.6版本为例】Solr7.x版本4.无模式的改进 默认情况下传入的字段将被索引为text_general【可以修改】。该字段的名称将与文档中定义的字段名称相同。复制字段规则将被插入到模式中以将新的text_general字段复制到具有名称的新字段。这个字段的类型是一个strings字段【允许多值】。默认文本字段的前256【可以修改】个字符将被插入到新的字符串字段中。由于复制字段规则会降低索引的速度并增加索引大小所以建议只在需要时使用复制字段。如果不需要对字段进行排序或分面则应该删除自动生成的复制字段规则。可以禁用update.autoCreateFields属性禁用自动字段创建。使用命令修改配置curl http://host:8983/solr/mycollection/config -d {set-user-property:{update.autoCreateFields:false}}。 5.对默认行为的更改 JSON现在是默认的响应格式。如果依赖XML响应现在必须在请求中定义wtxml。另外行缩进是默认启用的【indenton】。 sow参数【Split on Whitespace】现在默认为false允许支持多字同义词。该参数与eDismax和standard/lucene查询解析器一起使用。如果此参数没有明确指定为true查询文本将不会在空白上拆分。 legacyCloud参数现在默认为false。如果副本的项不存在state.json则该副本将不会被注册。这可能会影响到复制副本的用户并自动将其注册为分片的一部分。通过使用一下命令在集群属性中设置属性legacyCloudtrue可以退回到旧的行为。命令如下./sever/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:2181 -cmd clusterprop -name legacyCloud -val true。 如果solrconfig中的luceneMatchVersion是7.0.0或以上版本则eDismax查询分析器参数lowercaseOperator默认为false。luceneMatchVersion低于7.0.0的行为是不变的【true】。这意味着客户端必须以大写的方式发送布尔运算符【AND/OR/NOT】才能被识别或者必须明确设置该参数为true。 如果luceneMatchVersion是7.0.0或以上版本则solrconfig中的handleSelect参数默认为false。这会导致Solr忽略qt参数如果它存在于请求中请求处理程序没有前导/则可以设置handleSelecttrue或者考虑迁移配置。该qt参数仍用作指定要使用的请求处理程序的Solr特殊参数。 lucenePlusSort查询解析器【旧的lucene查询解析器】已被弃用不再隐式定义。若想继续使用这个解析器直到Solr8【该版本将删除这个解析器】必须将它注册到solrconfig.xml中。如下。 TemplateUpdateRequestProcessorFactory名称从Template更改为templateAtomicUpdateProcessorFactory的名称从Atomic改为atomic此外TemplateUpdateRequestProcessorFactory现在使用{}而不是${}作为模板。五.备注 1.对于Solr升级将数据重新编入索引被认为是最佳做法。如果重新索引不可行请注意Solr一次只能升级一个大版本【例如从6.x升级到7.x】。因此Solr6.x索引与Solr7.x兼容但Solr5.x索引则不会与Solr7.x兼容。