Hi, I'm trying to use a CustomSimilarityFactory and pass in per-field options from the schema.xml, like so:
<similarity class="org.ads.solr.CustomSimilarityFactory"> <lst name="field_a"> <int name="min">500</int> <int name="max">10000</int> <float name="steepness">0.5</float> </lst> <lst name="field_b"> <int name="min">500</int> <int name="max">20000</int> <float name="steepness">0.5</float> </lst> </similarity> My problem is I am utterly failing to figure out how to parse this nested option structure within my CustomSimilarityFactory class. I know that the settings are available as a SolrParams object within the getSimilarity() method. I'm convinced I need to convert to a NamedList using params.toNamedList(), but my java fu is too feeble to code the dang thing. The closest I seem to get is the top level as a NamedList where the keys are "field_a" and "field_b", but then my values are strings, e.g., "{min=500,max=10000,steepness=0.5}". Anyone who could dash off a quick example of how to do this? Thanks, --jay