首页 > 其他 > 详细

solr query的post方式

时间:2015-01-06 14:59:25      阅读:381      评论:0      收藏:0      [点我收藏+]

众所周知, solr 是通过 GET 方式来进行查询的。

那么solr 是否支持POST 方式进行查询呢?
通过一番调研,发现SOLR其实是支持POST方式进行查询的。
方式为:
使用form 方式提交POST请求到 select Handler即可
具体的来说:就是要在POST请求的header中添加
Content-Type:application/x-www-form-urlencoded;charset=utf-8

具体代码结构,主要在于Solr 解析请求参数部分。
参见
org.apache.solr.servlet.SolrDispatchFilter   ---》
      solrReq = parser.parse( core, path, req );  
org.apache.solr.servlet.SolrRequestParsers   ----》
      SolrParams params = parser.parseParamsAndFillStreams( req, streams );
       SolrQueryRequest sreq = buildRequestFrom( core, params, streams );
org.apache.solr.servlet.SolrRequestParsers.StandardRequestParser ---->
      if ("POST".equals( method ) ) {
        if (formdata.isFormData(req)) {
          return formdata.parseParamsAndFillStreams(req, streams);
       }
        if (ServletFileUpload.isMultipartContent(req)) {
          return multipart.parseParamsAndFillStreams(req, streams);
        }
        return raw.parseParamsAndFillStreams(req, streams);

solr query的post方式

原文:http://www.cnblogs.com/lykm02/p/4205863.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!