I've been reading the solr source code and made modifications by
implementing a custom Similarity class.
I want to implement a weight to the score by multiplying a number
based on if the current doc has certain term in it.

So if the query was q=data_text:foo

then the Similiarity class would apply a weight of :

if this.doc.containsTerm("bar")
  weight = 5;
else
  weight = 1;
end


I don't see how the Similarity class can get access to the doc and its
terms.  Is there a way to do this?

Alternatively I could preprocess the weights and I was looking into
ExternalFileField,  but I can't tell if that is the right solution.
If you use ExternalFileField it sets the rank of the results and not a
weight?  It seems like ExternalFileField is only to be used for
function queries? Is it possible to sort by
product(score,weight_from_external_file_field)?  I also have 10's of
millions of docs so I  am not sure if this is this will work.

Reply via email to