| = Implicit RequestHandlers |
| // Licensed to the Apache Software Foundation (ASF) under one |
| // or more contributor license agreements. See the NOTICE file |
| // distributed with this work for additional information |
| // regarding copyright ownership. The ASF licenses this file |
| // to you under the Apache License, Version 2.0 (the |
| // "License"); you may not use this file except in compliance |
| // with the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, |
| // software distributed under the License is distributed on an |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| // KIND, either express or implied. See the License for the |
| // specific language governing permissions and limitations |
| // under the License. |
| |
| Solr ships with many out-of-the-box RequestHandlers, which are called implicit because they do not need to be configured in `solrconfig.xml` before you are able to use them. |
| |
| These handlers have pre-defined default parameters, known as _paramsets_, which can be modified if necessary. |
| |
| == Available Implicit Endpoints |
| |
| NOTE: All endpoint paths listed below should be placed after Solr's host and port (if a port is used) to construct a URL. |
| |
| === Admin Handlers |
| |
| Many of these handlers are used throughout the Admin UI to show information about Solr. |
| |
| [horizontal] |
| File:: Returns content of files in `${solr.home}/conf/`. This handler must have a collection name in the path to the endpoint. |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/admin/file` |{solr-javadocs}/solr-core/org/apache/solr/handler/admin/ShowFileRequestHandler.html[ShowFileRequestHandler] |`_ADMIN_FILE` |
| |=== |
| |
| Logging:: Retrieve and modify registered loggers. |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoints |Class & Javadocs |Paramset |
| |v1: `solr/admin/info/logging` |
| |
| v2: `api/node/logging` |{solr-javadocs}/solr-core/org/apache/solr/handler/admin/ShowFileRequestHandler.html[LoggingHandler] |`_ADMIN_LOGGING` |
| |=== |
| |
| Luke:: Expose the internal lucene index. This handler must have a collection name in the path to the endpoint. |
| + |
| *Documentation*: http://wiki.apache.org/solr/LukeRequestHandler |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/admin/luke` |{solr-javadocs}/solr-core/org/apache/solr/handler/admin/LukeRequestHandler.html[LukeRequestHandler] |`_ADMIN_LUKE` |
| |=== |
| |
| |
| MBeans:: Provide info about all registered {solr-javadocs}/solr-core/org/apache/solr/core/SolrInfoBean.html[SolrInfoMBeans]. This handler must have a collection name in the path to the endpoint. |
| + |
| *Documentation*: <<mbean-request-handler.adoc#mbean-request-handler,MBean Request Handler>> |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/admin/mbeans` |{solr-javadocs}/solr-core/org/apache/solr/handler/admin/SolrInfoMBeanHandler.html[SolrInfoMBeanHandler] |`_ADMIN_MBEANS` |
| |=== |
| |
| Ping:: Health check. This handler must have a collection name in the path to the endpoint. |
| + |
| *Documentation*: <<ping.adoc#ping,Ping>> |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/admin/ping` |{solr-javadocs}/solr-core/org/apache/solr/handler/PingRequestHandler.html[PingRequestHandler] |`_ADMIN_PING` |
| |=== |
| |
| Plugins:: Return info about all registered plugins. This handler must have a collection name in the path to the endpoint. |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/admin/plugins` |{solr-javadocs}/solr-core/org/apache/solr/handler/admin/PluginInfoHandler.html[PluginInfoHandler] | None. |
| |=== |
| |
| System Properties:: Return JRE system properties. |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoints |Class & Javadocs |Paramset |
| |v1: `solr/admin/info/properties` |
| |
| v2: `api/node/properties` |{solr-javadocs}/solr-core/org/apache/solr/handler/admin/PropertiesRequestHandler.html[PropertiesRequestHandler] |`_ADMIN_PROPERTIES` |
| |=== |
| |
| Segments:: Return info on last commit generation Lucene index segments. |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/admin/segments` |{solr-javadocs}/solr-core/org/apache/solr/handler/admin/SegmentsInfoRequestHandler.html[SegmentsInfoRequestHandler] |`_ADMIN_SEGMENTS` |
| |=== |
| |
| System Settings:: Return server statistics and settings. |
| + |
| *Documentation*: https://wiki.apache.org/solr/SystemInformationRequestHandlers#SystemInfoHandler |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoints |Class & Javadocs |Paramset |
| |v1: `solr/admin/info/system` |
| |
| v2: `api/node/system` |{solr-javadocs}/solr-core/org/apache/solr/handler/admin/SystemInfoHandler.html[SystemInfoHandler] |`_ADMIN_SYSTEM` |
| |=== |
| + |
| This endpoint can also take the collection or core name in the path (`solr/<collection>/admin/system` or `solr/<core>/admin/system`) which will include all of the system-level information and additional information about the specific core that served the request. |
| |
| Threads:: Return info on all JVM threads. |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoints |Class & Javadocs |Paramset |
| |v1: `solr/admin/info/threads` |
| |
| v2: `api/node/threads` |{solr-javadocs}/solr-core/org/apache/solr/handler/admin/ThreadDumpHandler.html[ThreadDumpHandler] |`_ADMIN_THREADS` |
| |=== |
| |
| Health:: Reporting the health of the node (_available only in SolrCloud mode_) |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoints |Class & Javadocs |Paramset |
| |v1: `solr/admin/info/health` |
| |
| v2: `api/node/health` |{solr-javadocs}/solr-core/org/apache/solr/handler/admin/HealthCheckHandler.html[HealthCheckHandler] |`_ADMIN_HEALTH` |
| |=== |
| |
| This endpoint can also take the collection or core name in the path (`solr/<collection>/admin/health` or `solr/<core>/admin/health`). |
| |
| === Analysis Handlers |
| |
| [horizontal] |
| Document Analysis:: Return a breakdown of the analysis process of the given document. |
| + |
| *Documentation*: https://wiki.apache.org/solr/AnalysisRequestHandler |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/analysis/document` |{solr-javadocs}/solr-core/org/apache/solr/handler/DocumentAnalysisRequestHandler.html[DocumentAnalysisRequestHandler] |`_ANALYSIS_DOCUMENT` |
| |=== |
| |
| Field Analysis:: Return index- and query-time analysis over the given field(s)/field type(s). This handler drives the <<analysis-screen.adoc#analysis-screen,Analysis screen>> in Solr's Admin UI. |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/analysis/field` |{solr-javadocs}/solr-core/org/apache/solr/handler/FieldAnalysisRequestHandler.html[FieldAnalysisRequestHandler] |`_ANALYSIS_FIELD` |
| |=== |
| |
| === Handlers for Configuration |
| |
| [horizontal] |
| Config API:: Retrieve and modify Solr configuration. |
| + |
| *Documentation*: <<config-api.adoc#config-api,Config API>> |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |v1: `solr/<collection>/config` |
| |
| v2: `api/collections/<collection>/config` |{solr-javadocs}/solr-core/org/apache/solr/handler/SolrConfigHandler.html[SolrConfigHandler] |`_CONFIG` |
| |=== |
| |
| Dump:: Echo the request contents back to the client. |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/debug/dump` |{solr-javadocs}/solr-core/org/apache/solr/handler/DumpRequestHandler.html[DumpRequestHandler] |`_DEBUG_DUMP` |
| |=== |
| |
| Replication:: Replicate indexes for SolrCloud recovery and Master/Slave index distribution. This handler must have a core name in the path to the endpoint. |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<core>/replication` |{solr-javadocs}/solr-core/org/apache/solr/handler/ReplicationHandler.html[ReplicationHandler] |`_REPLICATION` |
| |=== |
| |
| Schema API:: Retrieve and modify the Solr schema. |
| + |
| *Documentation*: <<schema-api.adoc#schema-api,Schema API>> |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |v1: `solr/<collection>/schema`, `solr/<core>/schema` |
| |
| v2: `api/collections/<collection>/schema`, `api/cores/<core>/schema` |{solr-javadocs}/solr-core/org/apache/solr/handler/SchemaHandler.html[SchemaHandler] |`_SCHEMA` |
| |=== |
| |
| === Query Handlers |
| |
| [horizontal] |
| Export:: Export full sorted result sets. |
| + |
| *Documentation*: <<exporting-result-sets.adoc#exporting-result-sets,Exporting Result Sets>> |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/export` |{solr-javadocs}/solr-core/org/apache/solr/handler/ExportHandler.html[ExportHandler] |`_EXPORT` |
| |=== |
| |
| RealTimeGet:: Low-latency retrieval of the latest version of a document. |
| + |
| *Documentation*: <<realtime-get.adoc#realtime-get,RealTime Get>> |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/get` |{solr-javadocs}/solr-core/org/apache/solr/handler/RealTimeGetHandler.html[RealTimeGetHandler] |`_GET` |
| |=== |
| |
| Graph Traversal:: Return http://graphml.graphdrawing.org/[GraphML] formatted output from a `gatherNodes` streaming expression. |
| + |
| *Documentation*: <<graph-traversal.adoc#graph-traversal,Graph Traversal>> |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/graph` |{solr-javadocs}/solr-core/org/apache/solr/handler/GraphHandler.html[GraphHandler] |`_ADMIN_GRAPH` |
| |=== |
| |
| SQL:: Front end of the Parallel SQL interface. |
| + |
| *Documentation*: <<parallel-sql-interface.adoc#sql-request-handler,SQL Request Handler>> |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/sql` |{solr-javadocs}/solr-core/org/apache/solr/handler/SQLHandler.html[SQLHandler] |`_SQL` |
| |=== |
| |
| Streaming Expressions:: Distributed stream processing. |
| + |
| *Documentation*: <<streaming-expressions.adoc#streaming-requests-and-responses,Streaming Requests and Responses>> |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/stream` |{solr-javadocs}/solr-core/org/apache/solr/handler/StreamHandler.html[StreamHandler] |`_STREAM` |
| |=== |
| |
| Terms:: Return a field's indexed terms and the number of documents containing each term. |
| + |
| *Documentation*: <<the-terms-component.adoc#using-the-terms-component-in-a-request-handler,Using the Terms Component in a Request Handler>> |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/terms` |{solr-javadocs}/solr-core/org/apache/solr/handler/component/SearchHandler.html[SearchHandler] |`_TERMS` |
| |=== |
| |
| === Update Handlers |
| |
| [horizontal] |
| Update:: Add, delete and update indexed documents formatted as SolrXML, CSV, SolrJSON or javabin. |
| + |
| *Documentation*: <<uploading-data-with-index-handlers.adoc#uploading-data-with-index-handlers,Uploading Data with Index Handlers>> |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/update` |{solr-javadocs}/solr-core/org/apache/solr/handler/UpdateRequestHandler.html[UpdateRequestHandler] |`_UPDATE` |
| |=== |
| |
| CSV Updates:: Add and update CSV-formatted documents. |
| + |
| *Documentation*: <<uploading-data-with-index-handlers.adoc#csv-update-convenience-paths,CSV Update Convenience Paths>> |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/update/csv` |{solr-javadocs}/solr-core/org/apache/solr/handler/UpdateRequestHandler.html[UpdateRequestHandler] |`_UPDATE_CSV` |
| |=== |
| |
| JSON Updates:: Add, delete and update SolrJSON-formatted documents. |
| + |
| *Documentation*: <<uploading-data-with-index-handlers.adoc#json-update-convenience-paths,JSON Update Convenience Paths>> |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/update/json` |{solr-javadocs}/solr-core/org/apache/solr/handler/UpdateRequestHandler.html[UpdateRequestHandler] |`_UPDATE_JSON` |
| |=== |
| |
| Custom JSON Updates:: Add and update custom JSON-formatted documents. |
| + |
| *Documentation*: <<transforming-and-indexing-custom-json.adoc#transforming-and-indexing-custom-json,Transforming and Indexing Custom JSON>> |
| + |
| [cols="3*.",frame=none,grid=cols,options="header"] |
| |=== |
| |API Endpoint |Class & Javadocs |Paramset |
| |`solr/<collection>/update/json/docs` |{solr-javadocs}/solr-core/org/apache/solr/handler/UpdateRequestHandler.html[UpdateRequestHandler] |`_UPDATE_JSON_DOCS` |
| |=== |
| |
| == How to View Implicit Handler Paramsets |
| |
| You can see configuration for all request handlers, including the implicit request handlers, via the <<config-api.adoc#config-api,Config API>>. |
| |
| To include the expanded paramset in the response, as well as the effective parameters from merging the paramset parameters with the built-in parameters, use the `expandParams` request parameter. For the `/export` request handler, you can make a request like this: |
| |
| |
| [.dynamic-tabs] |
| -- |
| [example.tab-pane#v1expandparams] |
| ==== |
| [.tab-label]*V1 API* |
| |
| [source,bash] |
| ---- |
| http://localhost:8983/solr/gettingstarted/config/requestHandler?componentName=/export&expandParams=true |
| ---- |
| ==== |
| |
| [example.tab-pane#v2expandparams] |
| ==== |
| [.tab-label]*V2 API* |
| |
| [source,bash] |
| ---- |
| http://localhost:8983/api/collections/gettingstarted/config/requestHandler?componentName=/export&expandParams=true |
| ---- |
| ==== |
| -- |
| |
| The response will look similar to: |
| |
| [source,json] |
| ---- |
| { |
| "config": { |
| "requestHandler": { |
| "/export": { |
| "class": "solr.ExportHandler", |
| "useParams": "_EXPORT", |
| "components": ["query"], |
| "defaults": { |
| "wt": "json" |
| }, |
| "invariants": { |
| "rq": "{!xport}", |
| "distrib": false |
| }, |
| "name": "/export", |
| "_useParamsExpanded_": { |
| "_EXPORT": "[NOT AVAILABLE]" |
| }, |
| "_effectiveParams_": { |
| "distrib": "false", |
| "omitHeader": "true", |
| "wt": "json", |
| "rq": "{!xport}" |
| } |
| } |
| } |
| } |
| } |
| ---- |
| |
| == How to Edit Implicit Handler Paramsets |
| |
| Because implicit request handlers are not present in `solrconfig.xml`, configuration of their associated `default`, `invariant` and `appends` parameters may be edited via the <<request-parameters-api.adoc#request-parameters-api, Request Parameters API>> using the paramset listed in the above table. However, other parameters, including SearchHandler components, may not be modified. The invariants and appends specified in the implicit configuration cannot be overridden. |