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

Kevin Osborn commented on SOLR-1365:
------------------------------------

Thanks for the feedback. I looked at IndexSchema. It seems like the only useful 
function in my case is using isDynamicField vs. seeing if the field name ends 
with a "*".

But also is SimilarityFactory allowed to implement SolrCoreAware? I'm not too 
familiar with this interface, but my initial research shows that only 
SolrRequestHandler, QueryResponseWriter, SearchComponent, or 
UpdateRequestProcessorFactory may implement SolrCoreAware. Is this correct?

> 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: 1.4
>
>         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.
-
You can reply to this email to add a comment to the issue online.

Reply via email to