Luke Request Handler

The Luke Request Handler offers programmatic access to the information provided on the Schema Browser page of the Admin UI. It is modeled after the Luke, the Lucene Index Browser by Andrzej Bialecki. It is an implicit handler, so you don’t need to define it.

The Luke Request Handler accepts the following parameters:

show
The data about the index to include in the response. Options are schema, index, doc, all. index describes the high level details about the index. schema returns details about the schema plus the index data. doc works in conjunction with docId or id parameters and returns details about a specific document plus the index data.
id
Get a document using the uniqueKeyField specified in schema.xml.
docId
Get a document using a Lucene documentID.
fl
Limit the returned values to a set of fields. This is useful if you want to increase the numTerms and don’t want a massive response.
numTerms
How many top terms for each field. The default is 10.
includeIndexFieldFlags
Choose whether /luke should return the index-flags for each field. Fetching and returning the index-flags for each field in the index has non-zero cost, and can slow down requests to /luke.

LukeRequestHandler Examples

The following examples assume you are running Solr’s techproducts example configuration:

bin/solr start -e techproducts

To return summary information about the index:

http://localhost:8983/solr/techproducts/admin/luke?numTerms=0

To return schema details about the index:

http://localhost:8983/solr/techproducts/admin/luke?show=schema

To drill into a specific field manu, then you drop the show parameter and add the fl parameter:

http://localhost:8983/solr/techproducts/admin/luke?fl=manu

To see the specifics of a document using the Solr uniqueKeyField field:

http://localhost:8983/solr/techproducts/admin/luke?fl=manu&id=TWINX2048-3200PRO

Alternatively, to work through the Lucene native id:

http://localhost:8983/solr/techproducts/admin/luke?fl=manu&docId=0

From SolrJ, you can access /luke using the LukeRequest object.