Include Query Explanations
includeExplanations
allows to investigate details related to score assigned for each query result.
Syntax
IDocumentQuery<T> includeExplanations(Reference<Explanations> explanations);
Example
Reference<Explanations> explanationRef = new Reference<>();
List<Product> syrups = session.advanced().documentQuery(Product.class)
.includeExplanations(explanationRef)
.search("Name", "Syrup")
.toList();
String[] scoreDetails = explanationRef.value.getExplanations(syrups.get(0).getId());
from "Products"
where search(Name, "Syrup")
include explanations()
Sample explanation:
4.650658 = (MATCH) fieldWeight(search(Name):syrup in 2), product of:
1 = tf(termFreq(search(Name):syrup)=1)
4.650658 = idf(docFreq=1, maxDocs=77)
1 = fieldNorm(field=search(Name), doc=2)