Building a custom scorer
Now that we know how the default relevance calculation works, let us look at how to create a custom scorer. The default scorer used for relevance calculation is known as DefaultSimilarity
. In order to create a custom scorer, we will need to extend DefaultSimilarity
and create our own similarity class and eventually use it in our Solr schema. Solr also provides the option of specifying different similarity classes for different fieldTypes
configuration directive in the schema. Thus, we can create different similarity classes and then specify different scoring algorithms for different fieldTypes
as also a different global Similarity
class.
Let us create a custom scorer that disables the IDF factor of the scoring algorithm. Why would we want to disable the IDF? The IDF boosts documents that have query terms that are rare in the index. Therefore, if a query contains a term that occurs in fewer documents, the documents containing the term will be ranked higher. This does...