Solr查询语言 JSON Request API

本文介绍了Solr的JSON Request API,这是一种旨在改进原有查询语法的新特性。内容包括API的背景与动机,详细解释了如何使用JSON Request API进行查询,包括POST和GET方法的示例,以及其与旧查询语法的区别。JSON Request API的结构化和易读性使其成为Solr查询优化的良好选择,尤其在处理统计查询时。
摘要由CSDN通过智能技术生成

一、背景与动机

JSON Request API是由noggit作者(同时也Solr Committer Leader)在Solr.5.3带来新特性,意在改善Solr原来复杂且又丑陋查询语法。

注:JSON Request API跟Solr API v2并不是一回事,JSON Request API是一种新型Solr Query DSL。API v2是基于Restful API实现的内部接口,主要用于SolrJ和AdminUI与Solr Server交互的API。而JSON Request API显然是基于JSON实现查询语言,并不是API。
不管Request API还是API v2都是Solr正在向ElasticSearch靠近的表现。

以前想写简单查询其实也没有很复杂,无非就是写个q参数,然后指定一下rowssort嘛,但是对于用Solr来做统计相关工作的同学,还是觉得挺烦的。因为它

  1. 冗长,没有结构,容易出错,难于校验和debug。f.facet_field_name.facet.range.start=5
  2. 没有数据类型,整个世界都是String,缺乏结构,不便于编程
  3. 对服务端而言,解释得也相当复杂。

总之,就是有一系列问题。所以在Solr5.3,Yonik小哥带来这个。当然,我们Solr的JSON解析器用的就是Noggit——JSON解析工具。

Noggit是一款非常轻巧和高效,也非常新颖的JSON解析器。她是流式JSON解释器,同时她还有一些扩展JSON格式,使得她的结构更加简洁,优雅。想了解她更牛比之处请阅读noggit项目首页。

这就是JSON Request API出现的背景,当然动机就是针对这些痛点进行优化,一方面有利于推广Solr的搜索统计功能;二方面优化搜索解析效率、优化使用体验。

二、用法

在过去,我写Blog从不写用法一类的Blog,主

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值