org.apache.solr.handler.admin
Class ShowFileRequestHandler
java.lang.Object
org.apache.solr.handler.RequestHandlerBase
org.apache.solr.handler.admin.ShowFileRequestHandler
- All Implemented Interfaces:
- SolrInfoMBean, SolrRequestHandler
public class ShowFileRequestHandler
- extends RequestHandlerBase
This handler uses the RawResponseWriter to give client access to
files inside ${solr.home}/conf
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
- Since:
- solr 1.3
Method Summary |
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)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
HIDDEN
public static final String HIDDEN
- See Also:
- Constant Field Values
USE_CONTENT_TYPE
public static final String USE_CONTENT_TYPE
- See Also:
- Constant Field Values
hiddenFiles
protected Set<String> hiddenFiles
log
protected static final org.slf4j.Logger log
ShowFileRequestHandler
public ShowFileRequestHandler()
init
public void init(NamedList args)
- Description copied from class:
RequestHandlerBase
- Initializes the
SolrRequestHandler
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". |
Example:
<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>
- Specified by:
init
in interface SolrRequestHandler
- Overrides:
init
in class RequestHandlerBase
- Parameters:
args
- The NamedList
to initialize from- See Also:
RequestHandlerBase.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).
initHidden
public static Set<String> initHidden(SolrParams invariants)
handleRequestBody
public void handleRequestBody(SolrQueryRequest req,
SolrQueryResponse rsp)
throws InterruptedException,
org.apache.zookeeper.KeeperException,
IOException
- Specified by:
handleRequestBody
in class RequestHandlerBase
- Throws:
InterruptedException
org.apache.zookeeper.KeeperException
IOException
isHiddenFile
public static boolean isHiddenFile(SolrQueryRequest req,
SolrQueryResponse rsp,
String fnameIn,
boolean reportError,
Set<String> hiddenFiles)
getAdminFileFromZooKeeper
public static String getAdminFileFromZooKeeper(SolrQueryRequest req,
SolrQueryResponse rsp,
SolrZkClient zkClient,
Set<String> hiddenFiles)
throws org.apache.zookeeper.KeeperException,
InterruptedException
- Throws:
org.apache.zookeeper.KeeperException
InterruptedException
getAdminFileFromFileSystem
public static File getAdminFileFromFileSystem(SolrQueryRequest req,
SolrQueryResponse rsp,
Set<String> hiddenFiles)
getHiddenFiles
public final Set<String> getHiddenFiles()
getDescription
public String getDescription()
- Description copied from interface:
SolrInfoMBean
- Simple one or two line description
- Specified by:
getDescription
in interface SolrInfoMBean
- Specified by:
getDescription
in class RequestHandlerBase
getSource
public String getSource()
- Description copied from interface:
SolrInfoMBean
- CVS Source, SVN Source, etc
- Specified by:
getSource
in interface SolrInfoMBean
- Specified by:
getSource
in class RequestHandlerBase
Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.