Filtering your results
In the previous chapter, we talked about various types of queries. The common part was that we always wanted to get the best results first. This is the main difference from the standard database approach where every document matches the query or not. In the database world, we do not ask how good the document is; our only interest lies in the results returned. When talking about full text search engines this is different – we are interested not only in the results, we are also interested in their quality. The reason is obvious, we are searching in unstructured data, using text fields that use language analysis, stemming, and so on. Because of that, the initial results of our queries, in most cases, give results that are far from optimal. This is why when we talk about searching, we talk about precision and document recall.
On the other hand, sometimes we want to limit the whole subset of documents to a chosen part. For example, in a library, we may want to search only...