You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Hoss Man (JIRA)" <ji...@apache.org> on 2013/02/27 03:11:13 UTC

[jira] [Resolved] (SOLR-1365) Add configurable Sweetspot Similarity factory

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

Hoss Man resolved SOLR-1365.
----------------------------

    Resolution: Fixed
      Assignee: Hoss Man

Committed revision 1450577.
Committed revision 1450579.

                
> Add configurable Sweetspot Similarity factory
> ---------------------------------------------
>
>                 Key: SOLR-1365
>                 URL: https://issues.apache.org/jira/browse/SOLR-1365
>             Project: Solr
>          Issue Type: New Feature
>    Affects Versions: 1.3
>            Reporter: Kevin Osborn
>            Assignee: Hoss Man
>            Priority: Minor
>             Fix For: 4.2, 5.0
>
>         Attachments: SOLR-1365.patch, SOLR-1365.patch, SOLR-1365.patch
>
>
> This is some code that I wrote a while back.
> Normally, if you use SweetSpotSimilarity, you are going to make it do something useful by extending SweetSpotSimilarity. So, instead, I made a factory class and an configurable SweetSpotSimilarty. There are two classes. SweetSpotSimilarityFactory reads the parameters from schema.xml. It then creates an instance of VariableSweetSpotSimilarity, which is my custom SweetSpotSimilarity class. In addition to the standard functions, it also handles dynamic fields.
> So, in schema.xml, you could have something like this:
> <similarity class="org.apache.solr.schema.SweetSpotSimilarityFactory">
>     <bool name="useHyperbolicTf">true</bool>
> 	<float name="hyperbolicTfFactorsMin">1.0</float>
> 	<float name="hyperbolicTfFactorsMax">1.5</float>
> 	<float name="hyperbolicTfFactorsBase">1.3</float>
> 	<float name="hyperbolicTfFactorsXOffset">2.0</float>
> 	<int name="lengthNormFactorsMin">1</int>
> 	<int name="lengthNormFactorsMax">1</int>
> 	<float name="lengthNormFactorsSteepness">0.5</float>
> 	<int name="lengthNormFactorsMin_description">2</int>
> 	<int name="lengthNormFactorsMax_description">9</int>
> 	<float name="lengthNormFactorsSteepness_description">0.2</float>
> 	<int name="lengthNormFactorsMin_supplierDescription_*">2</int>
> 	<int name="lengthNormFactorsMax_supplierDescription_*">7</int>
> 	<float name="lengthNormFactorsSteepness_supplierDescription_*">0.4</float>
>  </similarity>
> So, now everything is in a config file instead of having to create your own subclass.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org