Book Image

Lucene 4 Cookbook

By : Edwood Ng, Vineeth Mohan
Book Image

Lucene 4 Cookbook

By: Edwood Ng, Vineeth Mohan

Overview of this book

Table of Contents (16 chapters)
Lucene 4 Cookbook
About the Authors
About the Reviewers

Specifying sort logic

Lucene, by default, scores every search results and the results are sorted in descending order of the relevance scores. The scoring ensures that the most relevant results are shown before the less relevant ones. This generally works great for most applications. However, sometimes user may prefer to sort results based on other criteria. For example, in an e-commerce website, user may prefer to sort results by price. This type of a scenario brings us to the topic of specifying sort in Lucene.

To specify sort, we first need to create one or more SortField objects. Then, we create a sort object that wraps around SortField(s) to pass along to IndexSearcher's search method. The Sort class itself has two static Sort:

  • RELEVANCE: This is sorting by relevance score, which is done by default (without specifying Sort).

  • INDEX ORDER: This is sorting by index order, which is the natural order of the documents in the index.

The SortField class can be instantiated with a Field name and...