solr (索引自己的数据集)

概要

Solr是一个建立在Apache Lucene 之上的搜索服务器,它是一个开源的,基于Java的信息检索库。它旨在驱动强大的文档检索应用程序 - 无论您需要根据用户的查询向用户提供数据,Solr都可以为您服务。

solr (索引自己的数据集)

由于Solr基于开放标准,因此具有高度的可扩展性。Solr查询是简单的HTTP请求URL,响应是结构化文档:主要是JSON,但也可以是XML,CSV或其他格式。这意味着各种各样的客户端将能够使用Solr,从其他Web应用程序到浏览器客户端,富客户端应用程序和移动设备。任何有HTTP能力的平台都可以和Solr对话。

一个比较常见的情况是,你有太多的数据,或者太多的查询,以至于一台Solr服务器无法处理你的整个工作负载。在这种情况下,您可以使用SolrCloud扩展应用程序的功能,以便更好地在多台服务器上分布数据和处理请求。根据您需要的可扩展性类型,可以混合和匹配多个选项。

“分片”是一种缩放技术,其中一个集合被分割成多个逻辑分片,称为“分片”,以便扩大集合中的文档数量,使其超出实际适合单个服务器的数量。传入查询分发到集合中的每个分片,这些分片响应合并的结果。另一种可用的技术是增加集合的“复制因子”,这允许您通过将请求分散到多个机器来添加具有集合的其他副本的服务器,以处理较高的并发查询负载。分片和复制不是相互排斥的,它们一起使Solr成为一个非常强大和可扩展的平台。



更新数据

numDocs表示索引中可搜索文档的数量(由于某些文件包含多个文档,因此将大于XML,JSON或CSV文件的数量)。maxDoc值可能会更大,因为maxDoc计数包括尚未从索引中物理删除的逻辑删除文档。你可以重新张贴样本文件一遍又一遍,只要你想,numDocs永远不会增加,因为新的文件将不断取代旧的。

删除数据

solr (索引自己的数据集)

执行以下命令删除特定的文档:

bin/post -c localDocs -d "<delete><id>SP2514N</id></delete>"

要删除所有文档,可以使用“删除查询”命令:

bin/post -c localDocs -d "<delete><query>*:*</query></delete>"