1.6.8 Content Streams

1. Content Streams

  当RequestHandlers请求基于URL路径来访问时,SolrQueryRequest包含了请求的参数,同样包含了ContentStreams(包含了大容量数据)列表.

 1.1 Stream Sources

   目前RequestHandlers可以通过多种方式获取content stream.

  • 对于多个文件上传,每个文件作为一个stream传递.
  • 对于POST请求,内容类型不能是application/x-www-form-urlencoded.POST的主体是作为stream传递的.整个POST的主体作为参数解析,并包含在solr参数中.
  •  stream.body参数的内容作为stream传递.
  • 如果远程stream传递开启的话,可以调用URL请求.每个stream.url和stream.file参数的内容被抓取,并被作为stream传递.

  默认情况下,curl 发送一个application/x-www-form-urlencoded头部.如果你想要测试一个SolrContentHeader stream.你需要使用 "-H"设置stream 类型 .

1.2 RemoteStreaming

  远程传递stream让你发送一个URL的内容作为stream传递给SolrRequestHandler.由于一些安全原因,remote streaming在solrconfig.xml中是关闭的状态.

  注意:如果开启streaming,这允许发送一个请求任何URL或本地文件.如果仓库(dump)开启,将会允许任何系统访问你的系统上的文件.

<!--Make sure your system has authentication before enabling remote streaming!-->
<requestParsers enableRemoteStreaming="true" multipartUploadLimitInKB="2048" />

1.3 Debugging Requests

<requestHandler name="/debug/dump" class="solr.DumpRequestHandler" />

  这个句柄使用指定的writer 类型wt.简单输出SolrQueryRequest的内容.这是一个非常有用的工具在帮助理解什么样的streams对于SolrQueryRequest是可以使用的.

 

posted @ 2015-03-09 11:35  勿妄  阅读(257)  评论(0编辑  收藏  举报