lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Muir (JIRA)" <j...@apache.org>
Subject [jira] Commented: (SOLR-1365) Add configurable Sweetspot Similarity factory
Date Fri, 25 Feb 2011 19:36:23 GMT

    [ https://issues.apache.org/jira/browse/SOLR-1365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12999495#comment-12999495
] 

Robert Muir commented on SOLR-1365:
-----------------------------------

In my opinion the issue should be much simpler to solve in trunk now, as all the per-field
stuff is now removed from SweetSpotSimilarity.

Instead, you would just have the configurable sweetspot similarity, and assign different configurations
to different fields via SOLR-2338, which will be responsible for the indexschema integration.

> 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
>            Priority: Minor
>             Fix For: Next
>
>         Attachments: 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.
-
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


Mime
View raw message