当前位置: 首页 > news >正文

Solr中得Core和Collection的作用和关系

Solr中得Core和Collection的作用和关系

在这里插入图片描述

一, 总结

在Apache Solr中,Core和Collection 是两个核心概念,他们分别用于单机模式和分布式模式(SolrCloud)中,用于管理和组织数据。

二,Core

  • 定义: Core是Solr单机模式下得基本数据管理单元。每个Core是一个独立得索引实例,包含自己得配置文件,schema(字段定义)和数据
  • 作用:
    • 每个core可以独立管理一组文档/数据
    • 支持单独配置shcema.xml,solrconfig.xml等文件
    • 适用于单机环境,或者不需要分布式管理得场景
  • 特点:
    • 每个core是独立的,可以单独启动,停止 或删除
    • 适用于小型项目或单机部署
    • 不支持分布式索引和查询(除非手动分片)
  • 示例:
    • 可以创建多个core,如core1,core2 ,分别用于存储不同的数据集(如商品数据和用户数据)

三,Collection

  • 定义: Collection是SolrCloud 模式下的逻辑数据单元。一个Collection是一个分布式的索引,可以跨多个节点(Node)进行分片(Shard) 和副本(Replica)
  • 作用:
    • 用于分布式环境,支持水平扩展和高可用性
    • 数据会自动分片(Shard)和复制(Replica),分布在多个节点上
    • 支持动态的扩展和负载均衡
  • 特点:
    • 一个Collection 可以包含多个分片(Shard),每个分片可以有多个副本(Replica)
    • 适用于大规模的数据和高并发查询场景
    • 依赖于Zookeeper进行配置管理和集群协调
  • 示例:
    • 可以创建一个名为product的Collection,将其分为2 个分片, 每个分片有2个副本,分布在4个节点上

四,Core和Collection的关系

  • 单机模式和分布式模式:
    • 在单机模式下。使用Core来管理数据
    • 在SolrCloud模式下,使用Collection管理数据
  • 底层实现:
    • 在SolrCloud中,每个分片(Shard)实际上是一个Core,但他们是作为Collection的一部分被统一管理
    • 换句话说,Collection是Core的分布式扩展版本
  • 配置文件:
    • 在单机模式下,每个Core都有自己的配置文件(如shcema.xml 和solrconfig.xml)
    • 在SolrCloud中,Collection的配置文件存储在Zookeeper中,所有的节点共享同一份配置

五,使用场景

  • Core:
    • 适用于单机环境或小规模数据
    • 不需要复杂的分布式管理
    • 开发和测试环境中常用
  • Collection:
    • 适用于大规模数据和高并发查询
    • 需要分布式存储和高可用
    • 生产环境中常用
特性CoreCollection
模式单机模式SolrCloud 分布式模式
数据管理独立索引实例分布式索引,支持分片和副本
配置文件每个 Core 独立配置配置文件存储在 Zookeeper 中
适用场景小规模数据、单机环境大规模数据、分布式环境
扩展性有限高(支持动态扩展)

简单来说,Core 是 Solr 的基础单元,而 Collection 是 Core 的分布式扩展版本,适用于更复杂的生产环境。

http://www.lryc.cn/news/543570.html

相关文章:

  • Visual Studio Code 远程开发方法
  • 如何看到 git 上打 tag 的时间
  • 【HarmonyOS Next】鸿蒙TaskPool和Worker详解 (一)
  • 如何设置HTTPOnly和Secure Cookie标志?
  • 几个api
  • Deepseek本地部署指南:在linux服务器部署,在mac远程web-ui访问
  • 基于 DeepSeek+AutoGen 的智能体协作系统
  • 博客系统笔记总结 2( Linux 相关)
  • 计算机毕业设计SpringBoot+Vue.js电影评论网站系统(源码+文档+PPT+讲解)
  • 精美登录注册UI,登录页面设计模板
  • 《Linux系统编程篇》共享内存(Linux 进程间通信(IPC))——基础篇
  • 【EB-03】 AUTOSAR builder与EB RTE集成
  • HTML——前端基础1
  • AI回答:Linux C/C++编程学习路线
  • 螺旋数字矩阵
  • Jupyter Notebook切换虚拟环境(Kernel管理)
  • linux下软件安装、查找、卸载
  • vuetify项目添加代理跨域请求
  • H5 火柴人科目三和GitHub获取仓库点星星的用户列表发生了艺术的碰撞
  • 【Azure 架构师学习笔记】- Azure Databricks (12) -- Medallion Architecture简介
  • 基础知识|原型在什么时候用和类的区别
  • 【FFmpeg】拉流
  • LangChain构建行业知识库实践:从架构设计到生产部署全指南
  • 解决jupyter notebook不是内部或外部命令问题
  • MySQL----case的用法
  • Unity XR-XR Interaction Toolkit开发使用方法(十)组件介绍(XR Interaction Group)
  • 深入理解 并查集LRUCaChe
  • 详解 c++ 中的 namespage
  • 50周学习go语言:第五周 复合类型与词频统计
  • HTTP非流式请求 vs HTTP流式请求