Solr核心特性【启动机制,配置管理,请求管理】
一.启动机制
Solr作为一个Java Web应用默认运行在Jetty上,使用全局Java属性【solr.solr.home】来定位配置文件的根目录。在启动时,Solr会扫描主目录下包含core.properties文件的子文件夹。该文件定义了Solr中自动发现内核的基本属性。例如:

此外,该配置文件还可以设置一系列可选参数对内核的定义做出适当的调整,具体如下:

Solr可以在启动期间利用core.properties文件自动发现内核。一旦内核被发现,Solr就能定位该内核的solrconfig.xml配置文件。Solr利用solrconfig.xml文件来初始化内核。
二.配置管理
1.solrconfig.xml配置文件概述


三.常见类型
在solrconfig.xml文件中,存在各种用于表示数据结构和数据类型的XML元素,具体如下:

备注:arr和lst之间的最大不同是lst中的每个元素都有一个name属性,而arr的子元素则没有。
四.JMX
jmx用于激活Solr的MBeans,允许系统管理员使用一些类似Nagios的常用系统监控工具监控和管理核心Solr组件。简言之,MBean是一个Java对象,它可以调用JAVA管理扩展JMX的API获得Solr的配置参数和统计信息。MBeans可以被Solr自动发现并被JMX兼容工具监控。这样可以将对Solr监控集成到已有的系统监控机制中。
五.请求管理
对Solr发起请求需要通过HTTP。如果是查询请求,则为HTTP GET方法。如果是索引请求,则为HTTP POST方法。一个GET请求及相关介绍例子如下:

请求执行流程如下:

执行流程步骤:
1.客户端应用将HTTP GET请求发送至http://localhost:8983/solr/collection1/select?q=...,查询参数通过该GET请求中的查询字符串进行传递。
2.Jetty接收客户端请求,并根据请求路径中/solr后的内容将该请求交给Solr中的统一请求分配器。从技术上讲,统一请求分配器就是一个Java servlet过滤器,可以为Solr Web应用过滤出符合/*的URL。
3.Solr的请求分配器根据客户端请求路径中的collection1确定所查询的内核名称。接下来,请求分配器会定位到solrconfig.xml文件中定义的/select请求处理器。
4./select请求处理器利用一系列搜索组件处理客户端请求。
5.在处理完客户端请求之后,查询结果经由响应读写器组件进行格式化之后,返回给客户端应用。默认情况下,/select请求处理器返回的结果数据为XML格式。
请求分配器的主要职能是根据用户请求语句定位达处理该请求的内核,如上面的collection1,然后将用户请求交给内核中已注册的对应请求处理器,如上面的/select。
Solr核心特性【启动机制,配置管理,请求管理】的更多相关文章
- Linux操作系统-CentOS6启动流程和服务管理
Linux操作系统-CentOS6启动流程和服务管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux组成 1>.Linux: kernel+rootfs ker ...
- Solr初始化源码分析-Solr初始化与启动
用solr做项目已经有一年有余,但都是使用层面,只是利用solr现有机制,修改参数,然后监控调优,从没有对solr进行源码级别的研究.但是,最近手头的一个项目,让我感觉必须把solrn内部原理和扩展机 ...
- Fpm启动机制及流程分析———详细
FPM(FastCGI Process Manager)是PHP FastCGI运行模式的一个进程管理器,从它的定义可以看出,FPM的核心功能是进程管理,那么它用来管理什么进程呢?这个问题就需要从Fa ...
- Mysql --09 Innodb核心特性——事务
目录 Innodb核心特性--事务 1.什么是事务 2.事务的通俗理解 3.事务ACID特性 4.事务流程举例 5.事务的控制语句 6.事务隐式提交情况 7.事务日志redo基本功能 8.redo数据 ...
- 一篇文章带你搞懂 etcd 3.5 的核心特性
作者 唐聪,腾讯云资深工程师,极客时间专栏<etcd实战课>作者,etcd活跃贡献者,主要负责腾讯云大规模k8s/etcd平台.有状态服务容器化.在离线混部等产品研发设计工作. etcd ...
- 第二十章、启动流程、模块管理与 Loader grub
Boot Loader: Grub 『 boot loader 是加载核心的重要工具』!没有 boot loader 的话,那么 kernel 根本就没有办法被系统加载! boot loader 的两 ...
- [Spark内核] 第30课:Master的注册机制和状态管理解密
本課主題 Master 接收 Worker, Driver, Application Master 处理 Driver 狀态变换 Master 处理 Executor 狀态变换 [引言部份:你希望读者 ...
- JAVAEE——Solr:安装及配置、后台管理索引库、 使用SolrJ管理索引库、仿京东的电商搜索案例实现
1 学习回顾 1. Lucene 是Apache开源的全文检索的工具包 创建索引 查询索引 2. 遇到问题? 文件名 及文件内容 顺序扫描法 全文检索 3. 什么是全文检索? 这种先创建索引 再 ...
- bootparam - 介绍Linux核心的启动参数
描叙 Linux 核心在启动的时候可以接受指定的"命令行参数"或"启动参数".在通常情况下,由于核心有可能无法识别某些硬件,或可能将某些硬件识别为不正确的配置, ...
随机推荐
- rsync+inotify同步备份
1.rsync与scp区别 scp无法备份大量数据,先统计文件信息,后进行拷贝,如果文件大小超出磁盘空间,则无法拷贝 rsync边复制,边比较,边统计 2.rsync特点 (1.)支持增量备份 (2. ...
- VMware10新建虚拟机
1. 新建虚拟机 2. 选择 “典型(推荐)(T)” 安装 3. “稍后安装操作系统”,创建一个空白硬盘 4. 选择 “Linux” 的 “CentOS 64位” 5. 设置 “虚拟机名称” 和 “位 ...
- echars 饼状图 轮循 水平翻转
code: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- LG1198/BZOJ1012 「JSOI2008」最大数 线段树+离线
问题描述 LG1198 BZOJ1012 题解 我们把所有操作离线,设一共有\(n\)个插入操作. 于是提前建立\(n\)个数,全部设为\(-INF\) 接着逐个处理操作即可. \(\mathrm{C ...
- javaweb监听器实现与原理
参考:https://www.cnblogs.com/lxp503238/p/6678688.html https://blog.csdn.net/CPOHUI/article/details/888 ...
- NET日记
NET日记 NET——day01:https://www.cnblogs.com/noonjuan/diary/2019/07/29/11265942.html NET——day02:https:// ...
- 动态规划 | 保留重复元素的LCS 1045
这题也可以用LIS求解.LIS解题报告:动态规划 | 对输入进行hash处理的LIS 1045 普通LCS是必须完全匹配的,所以状态转移方程式(末端匹配到时):dp[i][j]=dp[i-1][j-1 ...
- 官方一步解决各种Windows更新问题
原文部分: 修复 Windows 更新问题 适用于: Windows 8.1Windows 10Windows 7 此分布指南有什么作用? 此分步指南提供的步骤可修复 Windows 更新的问题, ...
- git diff比较版本差异(生成补丁)
1.git diff [<options>] <commit> <commit> options 使用--name-only(git diff HEAD cd504 ...
- JVM系列之七:HotSpot 虚拟机
1. 对象的创建 1. 遇到 new 指令时,首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载.解析和初始化过.如果没有,执行相应的类加载. 2 ...