public class ShowFileRequestHandler extends RequestHandlerBase
If you want to selectively restrict access some configuration files, you can list
these files in the HIDDEN invariants. For example to hide
synonyms.txt and anotherfile.txt, you would register:
<requestHandler name="/admin/file" class="org.apache.solr.handler.admin.ShowFileRequestHandler" >
<lst name="defaults">
<str name="echoParams">explicit</str>
</lst>
<lst name="invariants">
<str name="hidden">synonyms.txt</str>
<str name="hidden">anotherfile.txt</str>
<str name="hidden">*</str>
</lst>
</requestHandler>
At present, there is only explicit file names (including path) or the glob '*' are supported. Variants like '*.xml'
are NOT supported.ere
The ShowFileRequestHandler uses the RawResponseWriter (wt=raw) to return
file contents. If you need to use a different writer, you will need to change
the registered invariant param for wt.
If you want to override the contentType header returned for a given file, you can
set it directly using: USE_CONTENT_TYPE. For example, to get a plain text
version of schema.xml, try:
http://localhost:8983/solr/admin/file?file=schema.xml&contentType=text/plain
SolrInfoMBean.Category| Modifier and Type | Field and Description |
|---|---|
static String |
HIDDEN |
protected Set<String> |
hiddenFiles |
protected static org.slf4j.Logger |
log |
static String |
USE_CONTENT_TYPE |
appends, defaults, httpCaching, initArgs, invariants| Constructor and Description |
|---|
ShowFileRequestHandler() |
| Modifier and Type | Method and Description |
|---|---|
static File |
getAdminFileFromFileSystem(SolrQueryRequest req,
SolrQueryResponse rsp,
Set<String> hiddenFiles) |
static String |
getAdminFileFromZooKeeper(SolrQueryRequest req,
SolrQueryResponse rsp,
SolrZkClient zkClient,
Set<String> hiddenFiles) |
String |
getDescription()
Simple one or two line description
|
Set<String> |
getHiddenFiles() |
String |
getSource()
CVS Source, SVN Source, etc
|
void |
handleRequestBody(SolrQueryRequest req,
SolrQueryResponse rsp) |
void |
init(NamedList args)
Initializes the
SolrRequestHandler by creating three SolrParams named. |
static Set<String> |
initHidden(SolrParams invariants) |
static boolean |
isHiddenFile(SolrQueryRequest req,
SolrQueryResponse rsp,
String fnameIn,
boolean reportError,
Set<String> hiddenFiles) |
getCategory, getDocs, getInitArgs, getName, getStatistics, getVersion, handleRequestpublic static final String HIDDEN
public static final String USE_CONTENT_TYPE
protected static final org.slf4j.Logger log
public void init(NamedList args)
RequestHandlerBaseSolrRequestHandler by creating three SolrParams named.
| Name | Description |
|---|---|
| defaults | Contains all of the named arguments contained within the list element named "defaults". |
| appends | Contains all of the named arguments contained within the list element named "appends". |
| invariants | Contains all of the named arguments contained within the list element named "invariants". |
<lst name="defaults"> <str name="echoParams">explicit</str> <str name="qf">text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0</str> <str name="mm">2<-1 5<-2 6<90%</str> <str name="bq">incubationdate_dt:[* TO NOW/DAY-1MONTH]^2.2</str> </lst> <lst name="appends"> <str name="fq">inStock:true</str> </lst> <lst name="invariants"> <str name="facet.field">cat</str> <str name="facet.field">manu_exact</str> <str name="facet.query">price:[* TO 500]</str> <str name="facet.query">price:[500 TO *]</str> </lst>
init in interface SolrRequestHandlerinit in class RequestHandlerBaseargs - The NamedList to initialize fromRequestHandlerBase.handleRequest(org.apache.solr.request.SolrQueryRequest, org.apache.solr.response.SolrQueryResponse),
RequestHandlerBase.handleRequestBody(org.apache.solr.request.SolrQueryRequest, org.apache.solr.response.SolrQueryResponse),
SolrPluginUtils.setDefaults(org.apache.solr.request.SolrQueryRequest, org.apache.solr.common.params.SolrParams, org.apache.solr.common.params.SolrParams, org.apache.solr.common.params.SolrParams),
See also the example solrconfig.xml located in the Solr codebase (example/solr/conf).public static Set<String> initHidden(SolrParams invariants)
public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws InterruptedException, org.apache.zookeeper.KeeperException, IOException
handleRequestBody in class RequestHandlerBaseInterruptedExceptionorg.apache.zookeeper.KeeperExceptionIOExceptionpublic static boolean isHiddenFile(SolrQueryRequest req, SolrQueryResponse rsp, String fnameIn, boolean reportError, Set<String> hiddenFiles)
public static String getAdminFileFromZooKeeper(SolrQueryRequest req, SolrQueryResponse rsp, SolrZkClient zkClient, Set<String> hiddenFiles) throws org.apache.zookeeper.KeeperException, InterruptedException
org.apache.zookeeper.KeeperExceptionInterruptedExceptionpublic static File getAdminFileFromFileSystem(SolrQueryRequest req, SolrQueryResponse rsp, Set<String> hiddenFiles)
public String getDescription()
SolrInfoMBeangetDescription in interface SolrInfoMBeangetDescription in class RequestHandlerBasepublic String getSource()
SolrInfoMBeangetSource in interface SolrInfoMBeangetSource in class RequestHandlerBaseCopyright © 2000-2014 Apache Software Foundation. All Rights Reserved.