Solr查询语言 JSON Request API
2017-06-19 00:00
435 查看
阅读全文
注:JSON Request API与Solr API v2并不是一回来,JSON Request API是一种新型Solr Query DSL。API v2新版本查询API,是基于Restful API实现的。当然JSON Request API显然是基于JSON实现的咯。
不过Request API还是API v2都是Solr学习ElasticSearch靠近的表现。
以前想写简单查询其实也没有很复杂,就是写个
1. 冗长,没有结构,容易出错,难于校验和debug。
2. 没有数据类型,整个世界都是
3. 对服务端而言,解释得也相当复杂。
总之,就是有一系列问题。所以在
Noggit是非常牛比,非常最效,非常新颖的JSON解析器。她是流式JSON解释器,同时她还**扩展JSON格式**,使得她的结构更加简洁,优雅。想了解她更牛比之处请阅读noggit项目首页。
这就是JSON Request API出现的背景,当然动机就是针对这些痛点进行优化,一方面有利于推广Solr的搜索统计功能;二方面优化搜索解析效率、优化使用体验。
虽然Noggit已经非常简洁好看,但是她在浏览器的地址栏里编辑还非常不好方便的。但我依然她觉得非常好,特别在她提供一系列非常好用的
因此,非常有必要来推广她,不能让这个世界都是
好了,回归正题,先看来几个Query。
一、背景与动机
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新版本查询API,是基于Restful API实现的。当然JSON Request API显然是基于JSON实现的咯。
不过Request API还是API v2都是Solr学习ElasticSearch靠近的表现。
以前想写简单查询其实也没有很复杂,就是写个
q参数,然后指定一下
rows和
sort嘛,但是对于用Solr来做统计相关工作的同学,还是觉得挺烦的。因为它
1. 冗长,没有结构,容易出错,难于校验和debug。
f.facet_field_name.facet.range.start=5
2. 没有数据类型,整个世界都是
String,缺乏结构,不便于编程
3. 对服务端而言,解释得也相当复杂。
总之,就是有一系列问题。所以在
Solr5.3,Yonik小哥带来这个。当然,我们Solr的JSON解析器用的就是Noggit。
Noggit是非常牛比,非常最效,非常新颖的JSON解析器。她是流式JSON解释器,同时她还**扩展JSON格式**,使得她的结构更加简洁,优雅。想了解她更牛比之处请阅读noggit项目首页。
这就是JSON Request API出现的背景,当然动机就是针对这些痛点进行优化,一方面有利于推广Solr的搜索统计功能;二方面优化搜索解析效率、优化使用体验。
二、用法
在过去,我写Blog从不写用法一类的Blog。主要是这一类文章写的非常多,这次为什么要写呢,原因有二。一,Solr6.6正式推出这套API;二,貌似并没多少人关注她。这么好的特征,不能让她一直默默无闻。虽然Noggit已经非常简洁好看,但是她在浏览器的地址栏里编辑还非常不好方便的。但我依然她觉得非常好,特别在她提供一系列非常好用的
Facet Statistics & Aggregations Function。之前没有她的时候,我们要写这些查询,非常苦痛的,除了可能需要用到
stats查询之外,还很有用可能需要用到非常用的
Query Function。(这也可能就是Solr一直很搜索的原因吧。)
因此,非常有必要来推广她,不能让这个世界都是
ElasticSearch。
好了,回归正题,先看来几个Query。
Query #1. 直接POST
阅读全文相关文章推荐
- Solr查询语言 JSON Request API
- Jquery如何序列化form表单数据为JSON对象 C# ADO.NET中设置Like模糊查询的参数 从客户端出现小于等于公式符号引发检测到有潜在危险的Request.Form 值 jquery调用iframe里面的方法 Js根据Ip地址自动判断是哪个城市 【我们一起写框架】MVVM的WPF框架(三)—数据控件 设计模式之简单工厂模式(C#语言描述)
- JSONiq:JSON查询语言
- 号码归属地查询API(返回json和XML数据)
- API调用太麻烦 eBay推出Web查询语言
- 按照solr分面查询的查询结果顺序,添加到json后从后台发送前端
- Java_调用HttpRequest访问淘宝开发API查询IP信息
- Tp3.2 RESTFul 根据地区查询生成xml、html、json的Api接口的天气信息
- 【C#MVC】 使用HttpWebRequest访问外部API,并返回json信息 (Access_Key)
- Android手机号码归属地的查询(使用聚合数据API,获取JSON数据并解析)
- 8.4Solr API使用(Result Grouping分组查询)
- http://127.0.0.1/loginapi/JsonPacket/example/loginrequestdemo.php
- Node.js Request Module…sending json in body for api request with put
- javaAPI操作solr的增、删、查以及spell建议查询的Demo程序
- Solr搜索统计 JSON Faceting API
- 测试天气查询API(JAVA版百度api、C#版APIX)未处理json
- 8.2Solr API使用(Facet查询)
- JSONiq:JSON查询语言
- solr查询返回JSON格式
- gitlab无法push或clone的错误:JWT::DecodeError (Nil JSON web token): lib/gitlab/workhorse.rb:120:in `verify_api_request!'