[jira] [Created] (SOLR-5313) json update extract boost from document value

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[jira] [Created] (SOLR-5313) json update extract boost from document value

Michael Gibney (Jira)
Nicolas Franck created SOLR-5313:

             Summary: json update extract boost from document value
                 Key: SOLR-5313
                 URL: https://issues.apache.org/jira/browse/SOLR-5313
             Project: Solr
          Issue Type: Improvement
    Affects Versions: 3.6
            Reporter: Nicolas Franck
            Priority: Minor

The current JsonLoader in org.apache.solr.handler provides a way to add a boost to a document as a whole. But if you want to add multiple documents,
each with its own boost, you have to create something like this:

  "add": { "boost":2.0, "doc": {} },
  "add": { "boost":2.0, "doc": {} }

No idea which JSON-writer can do this (I use the one from perl,
that does not support duplicate keys).

Therefore I tried to alter some of the code in JsonLoader::handleAdds.
The code is between "//test - start" and "//test - end":

      cmd.solrDoc = parseDoc(ev);

      //test - start
      if(boost_field != null){                    
          SolrInputField b_field = cmd.solrDoc.getField(boost_field);
          if(b_field != null){
              log.info("boost_field found in document with value '"+b_field.getFirstValue()+"'");              
              float boost = Float.parseFloat((String)b_field.getFirstValue());              
      //test - end


In this code I try to extract the boost value for the document from the document itself. The default field is configured as "_boost", and is deleted
from the document afterwards.

I tried to subclass JsonLoader, but sadly the class is package-protected ;-)

Could this be an interesting contribution?

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]