Hello,
I have implemented payloads at the index and query levels using specific
PayloadSimilarity and PayloadQparserPlugin classes.
Now I wish to check that the payloads processing is correct and thus I
inserted the following code to check the document scores of a Solr request:
// Display relevance score and explain for debugging and validation
Iterator<SolrDocument> dociterator = results.iterator();
Map<String, String> explainmap = queryResponse.getExplainMap();
*while* (dociterator.hasNext()) {
SolrDocument doc = dociterator.next();
String id = (String) doc.getFirstValue("positionID");
Float relevance = (Float) doc.getFieldValue("score");
String explanation = explainmap.get(id);
*LOGGER*.debug("----positionID [{}]", id);
*LOGGER*.debug("Score [{}]", relevance);
*LOGGER*.debug("explain: [{}]", explanation);
}
Here is an extract from the output:
----positionID [441828]
websearch.engine.solr.SolrEnginePosition (1291) Score [6.0416665]
websearch.engine.solr.SolrEnginePosition (1292) explain: [
0.34901428 = (MATCH) product of:
0.41881716 = (MATCH) sum of:
0.08182812 = (MATCH) weight(autocomplete-field:chef de projet in 363),
product of:
0.35501713 = queryWeight(autocomplete-field:chef de projet), product
of:
3.4769385 = idf(autocomplete-field: chef de projet=83)
0.10210624 = queryNorm
0.23049062 = (MATCH) fieldWeight(autocomplete-field:chef de projet in
363), product of:
0.70710677 = (MATCH) btq, product of:
0.70710677 = tf(phraseFreq=0.5)
1.0 = scorePayload(...)
3.4769385 = idf(autocomplete-field: chef de projet=83)
0.09375 = fieldNorm(field=autocomplete-field, doc=363)
THE EXPLAIN SCORE SEEMS CORRECT BUT I DON’T UNDERSTAND WHY THE DOCUMENT
SCORE (6.0416665) IS DIFFERENT FROM THE EXPLAIN SCORE (0.34901428)
I would appreciate any explanation on this issue or any ideas on what could
be wrong in the code
Best wishes,
--
Jean-Claude Dauphin