lucene-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Solr Wiki] Update of "ContentStream" by CassandraTargett
Date Tue, 20 Dec 2016 21:26:32 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Solr Wiki" for change notification.

The "ContentStream" page has been changed by CassandraTargett:

remove outdated content; point users to Ref Guide

+ {{{#!wiki important
+ This page exists for the Solr Community to share Tips, Tricks, and Advice about
+ [[|Content Streams]].
+ Reference material previously located on this page has been migrated to the
+ [[|Official Solr Reference Guide]].
+ If you need help, please consult the Reference Guide for the version of Solr you are using
+ for the specific details about using [[|this
+ If you'd like to share information about how you use this feature, please see [[FrontPage#How_to_edit_this_Wiki|add
it to this page]].
+ /* cwikimigrated */
- [[|ContentStreams]]
are an abstraction mechanism for accessing streaming data in [[SolrRequestHandler|SolrRequestHandlers]].
- <<TableOfContents(2)>>
- == Overview ==
- When !SolrRequestHandlers are accessed using path based URLs the [[|SolrQueryRequest]]
object containing the parameters of the request may also contain a list of !ContentStreams
containing bulk data for the request.
- (The name !SolrQueryRequest is a bit misleading: it is involved in all requests, regardless
of whether it is a query request or an update request.)
- == Stream Sources ==
- Currently !RequestHandlers can get content streams a variety of ways:
-  * For Multipart file upload, each file is passed as a stream.
-  * For POST requests where the content-type is not "application/x-www-form-urlencoded",
the raw POST body is passed as a stream.
-  * The contents of parameter "stream.body" is passed as a stream.
-  * If remote streaming is enabled, the contents of each "stream.url" and "stream.file" parameters
are fetched and passed as a stream
- If the contentType is "application/x-www-form-urlencoded" the full POST body is parsed as
parameters and inlcuded in the  [[|SolrParams]].
- By default, curl sends a contentType="application/x-www-form-urlencoded" header.  If you
need to test a SolrRequestHandler content stream, you will need to set the content type with
the "-H" flag.  For example:
- {{{
-  curl $URL -H 'Content-type:text/xml; charset=utf-8' --data-binary @$f
- == RemoteStreaming ==
- Remote streaming allows you to send the contents of a URL as a stream to a given !SolrRequestHandler.
 This could be used to send a remote or local file to an update plugin.  If remote streaming
is enabled, be aware that this allows anyone to send a request to any URL or local file and
essentially allow anyone that can send a request directly to solr to view any file that solr
can read.
- {{{
-   <!--Make sure your system has authentication before enabling remote streaming!-->
-   <requestParsers enableRemoteStreaming="true" multipartUploadLimitInKB="2048" />
- }}}
- Example:
- {{{
- curl 'http://localhost:8983/solr/update/csv?stream.file=exampledocs/books.csv&stream.contentType=text/plain;charset=utf-8'
- }}}
- == Debugging ==
- The example solrconfig.xml includes a 'dump' handler
- {{{
-   <requestHandler name="/debug/dump" class="solr.DumpRequestHandler" />
- }}}
- This handler simply outputs the contents of the !SolrQueryRequest using the specified writer
type [[CoreQueryParameters |'wt']].  This is a useful tool to help understand what streams
are available to to the !RequestHandlers.

View raw message