sublime text 默认不识别 solr 配置文件和 dsl,需安装 solrquery 插件并配置语法高亮与配色规则,使 filtercache 标签、q/fq 参数及 [10 to 20] 范围表达式等关键元素精准着色。

Sublime Text 默认对 Solr 配置文件(solrconfig.xml、schema.xml、managed-schema)和查询 DSL(q=...、json.facet)完全无感知——打开就是 Plain Text 或基础 XML/JSON 高亮,q、fq、facet.field 这些关键字段灰得和普通字符串一样,极易误读或漏改。
为什么 solrconfig.xml 里 <filtercache></filtercache> 不高亮?XML 语法不识别 Solr 特有标签
Sublime 自带的 XML 语法只认标准 DTD/XSD 结构,solrconfig.xml 中的 <filtercache></filtercache>、<queryresultcache></queryresultcache>、<requesthandler></requesthandler> 等标签没有 scope 标记,全被当作文本内容处理。结果就是:标签名、属性名(如 class、size)、值(如 solr.FastLRUCache)全部同色,无法快速定位配置项。
- 临时解决:右下角点击语法名 → Set Syntax: XML → 再手动选 XML (Solr)(如果已装 SolrQuery 插件)
- 长期方案:安装
SolrQuery插件后,它会提供SolrConfig专用语法,为<filtercache></filtercache>等标签打上entity.name.tag.solrscope - 验证是否生效:光标停在
<filtercache></filtercache>上,按Ctrl+Shift+P→ 输入Developer: Show Scope Name,看到类似entity.name.tag.solr才算成功 - 若仍不生效,检查
Preferences → Settings右侧是否有"ignored_packages": ["SolrQuery"]—— 有就删掉,再执行Ctrl+Shift+P → Reload Syntax Definitions
如何让 q=price:[10 TO 20] 中的 q 和 [10 TO 20] 分别着色?
Solr 查询语法混合了键值对、范围表达式、布尔操作符,纯 JSON 或 URL 编码语法根本无法拆解。必须靠自定义语法 + 配色规则双管齐下。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
-
SolrQuery插件已预置对q、fq、sort、json.facet的 key scope(如keyword.solr.param),但默认配色方案不认这些 scope - 先确认作用域:把光标放在
q上,运行Developer: Show Scope Name,记下完整 scope(常见为keyword.solr.param或support.parameter.solr) - 打开当前配色方案文件(
Preferences → Color Scheme路径下的.sublime-color-scheme),在"rules"数组末尾加:
{
"name": "Solr query key",
"scope": "keyword.solr.param",
"foreground": "hsla(220, 100%, 55%, 0.95)"
}
- 对范围语法
[10 TO 20],插件通常标记为constant.range.solr,同样需补一条规则,用不同色(如橙色)区分 - 别用
rgb()或英文色名;hsla()或带 alpha 的十六进制(如#e74c3c80)在深/浅主题下都更稳
怎么让 .solr 后缀自动用 Solr 语法,又不影响 .xml?
直接把所有 .xml 文件绑定到 Solr 语法会破坏普通 XML 查看(如 Spring 配置、Maven pom.xml),必须隔离处理。
- 确保已安装
SolrQuery插件(它自带.solr关联) - 新建一个空文件,保存为
test.solr,右下角应自动显示SolrQuery—— 若显示Plain Text,说明插件未加载,查控制台报错 - 对已有
.solr文件:右下角点击 →Open all with current extension as…→ 选SolrQuery - 验证是否写入配置:打开
Packages/User/SolrQuery.sublime-settings,应有"extensions": ["solr"];若没有,手动加进去 - 绝对不要碰
Packages/User/XML.sublime-settings,否则所有.xml都会走 Solr 规则
修改配色后 q 还是灰色?重载比重启更重要
配色方案修改后不生效,90% 是因为 Sublime 没刷新缓存——它不会监听文件变更自动重载。
- 改完
.sublime-color-scheme后,必须回到Preferences → Color Scheme,重新点一次当前主题(哪怕选同一个),否则 scope 规则不加载 - 如果用了自定义主题(如
MyMonokai.sublime-color-scheme),确保路径正确:Packages/User/MyMonokai.sublime-color-scheme,不是Packages/MyMonokai/... - 某些 UI 主题(如
Adaptive)会覆盖region.line或lineHighlight,导致当前行高亮失效,间接影响 Solr 配置阅读节奏——建议搭配Monokai或Brogrammer这类轻量主题使用 - 最隐蔽的坑:插件
SolrQuery在 ST4 中可能因 Python 3.8+ 兼容性报错,控制台出现ImportError: cannot import name 'sublime_plugin',此时需手动更新插件或换用社区维护分支










