[ 
https://issues.apache.org/jira/browse/SOLR-8271?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hoss Man updated SOLR-8271:
---------------------------
    Attachment: SOLR-8271.patch


Ok, now that SOLR-8280 is resolved the same basic patch (with one minor 
conflict resolution) as before passes all tests.  In this new patch I've 
removed most of the explicit declarations of solr.SchemaSimilarityFactory from 
the various tests schema files since it's now the implicit default.  A few 
special circumstances...

* schema-sim.xml - used by TestPerFieldSimilarityClassic which overrides the 
luceneMatchVersion so we have to be explicit that we want it to be the global 
sim.
* schema-class-name-shortening-on-serialization.xml - the purpose of this file 
is for TestClassNameShortening, so we need to leave the "short" name here in 
this config to test the proper behavior
* TestSchemaSimilarityResource.testGetSchemaSimilarity - was previously used 
the short class name for SchemaSimilarityFactory since that's what was 
explicitly mentioned in schema-rest.xml, so i changed the test to expect the 
FQN for the class -- which is the default behavior of the REST API for 
implicitly defined instances.

...i think we're good to go.

> use SchemaSimilarityFactory as default when no explicit (top level) sim is 
> configured
> -------------------------------------------------------------------------------------
>
>                 Key: SOLR-8271
>                 URL: https://issues.apache.org/jira/browse/SOLR-8271
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Hoss Man
>         Attachments: SOLR-8271.patch, SOLR-8271.patch
>
>
> Idea spun out of SOLR-8057...
> bq. 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)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to