In this chapter, we will elaborate on the basic search query concepts that we covered earlier, in light of the new mapping knowledge that we just picked up. We will now look at a number of techniques for making search queries more flexible and powerful.
We will see how to dynamically filter results at the Lucene level, before the database is even touched. We will also avoid database calls by using projection-based queries, to retrieve properties directly from Lucene. We will use faceted search, to recognize and isolate subsets of data within search results. Finally, we will cover some miscellaneous query tools, such as query-time boosting and placing time limits on a query.
The process of building a query