Question

I've migrated my Solr 1.4 index to Solr 4.0 using this method, and I've kept my solrconfig.xml and schema.xml as unchanged as possible while still being functional.

I'm using the DisjunctionMaxQuery (dismax / solr.DisMaxRequestHandler) requestHandler and comparing my search results between Solr 1.4 and Solr 4. Using ?debugQuery=on in the URL, I can see that the parsedQuery portion is virtually the same between Solr versions, yet the generated scores are different. (The explain portion is different, but the calculation is long and obtuse.)

Example query: q=foo
Example response:
Solr 1.4:

title: "foo (32-bit)"
score: 3.8850176

Solr 4.0:

title: "foo (32-bit)"
score: 2.1525226

Despite having the same request handler and identical indices, what would be causing this significant difference in scores?

Was it helpful?

Solution

If the explain portion is different, then it's using different calculations to calculate the scores so they are going to be different. Scores are pretty arbitrary anyways and are basically only used for comparison within the one result set for the query, in other words it doesn't make sense to compare scores from one query to the scores of another query. The same probably applies to different version of solr, especially if the way the calculations are done are different.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top