Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Idea spun out of SOLR-8057...
As far as i can tell, the chief reason SchemaSimilarityFactory wasn't made the implicit default in IndexSchema when it was introduced is because of how it differed/differs from DefaultSimilarity/ClassicSimilarity with respect to multi-clause queries – see SchemaSimilarityFactory's class javadoc notes relating to queryNorm and coord. Users were expected to think about this trade off when making a concious choice to switch from DefaultSimilarity/ClassicSimilarity to SchemaSimilarityFactory. But (again, AFAICT) these discrepencies don't exist between SchemaSimilarityFactory's PerFieldSimilarityWrapper and BM25Similiarity.
So assuming luceneMatchVersion >= 6.0, and BM25 is implicit default, we should be able to safely switch to using SchemaSimilarityFactory as our default (which internally uses BM25 for fieldTypes that don't override) and make it much easier for people to declare fieldType overrides for the similarity (just edit the fieldType, w/o also needing to explicitly declare SchemaSimilarityFactory)
Attachments
Attachments
Issue Links
- is blocked by
-
SOLR-8270 Make BM25SimFactory the implicit default when no sim is configured for luceneMatch > 6.0
- Resolved
-
SOLR-8280 Schemaless features don't work reliably with SolrCoreAware sim factory -- example: SchemaSimilarityFactory
- Closed
- is related to
-
SOLR-8057 Change default Sim to BM25 (w/backcompat config handling)
- Resolved