Apache Solr – Querying Data

In addition to storing data, Apache Solr also provides the facility of querying it back as and when required. Solr provides certain parameters using which we can query the data stored in it.

In the following table, we have listed down the various query parameters available in Apache Solr.

ParameterDescription
qThis is the main query parameter of Apache Solr, documents are scored by their similarity to terms in this parameter.
fqThis parameter represents the filter query of Apache Solr the restricts the result set to documents matching this filter.
startThe start parameter represents the starting offsets for a page results the default value of this parameter is 0.
rowsThis parameter represents the number of the documents that are to be retrieved per page. The default value of this parameter is 10.
sortThis parameter specifies the list of fields, separated by commas, based on which the results of the query is to be sorted.
flThis parameter specifies the list of the fields to return for each document in the result set.
wtThis parameter represents the type of the response writer we wanted to view the result.

You can see all these parameters as options to query Apache Solr. Visit the homepage of Apache Solr. On the left-hand side of the page, click on the option Query. Here, you can see the fields for the parameters of a query.

query parameter

Retrieving the Records

Assume we have 3 records in the core named my_core. To retrieve a particular record from the selected core, you need to pass the name and value pairs of the fields of a particular document. For example, if you want to retrieve the record with the value of the field id, you need to pass the name-value pair of the field as − Id:001 as value for the parameter q and execute the query.

retrieving records

In the same way, you can retrieve all the records from an index by passing *:* as a value to the parameter q, as shown in the following screenshot.

retrieve all

Retrieving from the 2nd record

We can retrieve the records from the second record by passing 2 as a value to the parameter start, as shown in the following screenshot.

next record

Restricting the Number of Records

You can restrict the number of records by specifying a value in the rows parameter. For example, we can restrict the total number of records in the result of the query to 2 by passing the value 2 into the parameter rows, as shown in the following screenshot.

restriction

Response Writer Type

You can get the response in required document type by selecting one from the provided values of the parameter wt.

response writer type

In the above instance, we have chosen the .csv format to get the response.

List of the Fields

If we want to have particular fields in the resulted documents, we need to pass the list of the required fields, separated by commas, as a value to the property fl.

In the following example, we are trying to retrieve the fields − id, phone, and first_name.

list fields

Leave a Reply