[ https://issues.apache.org/jira/browse/SOLR-11250?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16143604#comment-16143604 ]
Yuki Yano commented on SOLR-11250: ---------------------------------- [~cpoerschke] I attached new patch (v3) which refactors codes based on your first and third advices (second one is not yet though). Details are as follows: 1. Changed {{ExternalModel}} to {{WrapperModel}}. 2. Added {{ModelParser}} for parsing model configurations in {{WrapperModel}}. I only implemented {{ModelParser}} for json format because I feel some difficulties for other formats: * XML : because the content of "params" is not fixed, we can't distinguish some structures like List and Map only from XML text. * YAML : we need yaml library (e.g., snakeyaml), but I don't know the policy of adding new library in Solr community... Well, I think only supporting json is enough for now. If we need new formats, we can add them simply by extending {{ModelParser}}. What do you think? > Add new LTR model which loads the model definition from the external resource > ----------------------------------------------------------------------------- > > Key: SOLR-11250 > URL: https://issues.apache.org/jira/browse/SOLR-11250 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: contrib - LTR > Reporter: Yuki Yano > Priority: Minor > Attachments: SOLR-11250_master.patch, SOLR-11250_master_v2.patch, > SOLR-11250_master_v3.patch, SOLR-11250.patch > > > We add new model which contains only the location of the external model and > loads it during the initialization. > By this procedure, large models which are difficult to upload to ZooKeeper > can be available. > The new model works as the wrapper of existing models, and deligates APIs to > them. > We add two classes by this patch: > * {{ExternalModel}} : a base class for models with external resources. > * {{URIExternalModel}} : an implementation of {{ExternalModel}} which loads > the external model from specified URI (ex. file:, http:, etc.). > For example, if you have a model on the local disk > "file:///var/models/myModel.json", the definition of {{URIExternalModel}} > will be like the following. > {code} > { > "class" : "org.apache.solr.ltr.model.URIExternalModel", > "name" : "myURIExternalModel", > "features" : [], > "params" : { > "uri" : "file:///var/models/myModel.json" > } > } > {code} > If you use LTR with {{model=myURIExternalModel}}, the model of > {{myModel.json}} will be used for scoring documents. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org