<div dir="ltr"><div class="gmail_extra"><div class="gmail_extra">> Thanks Olly for clarifying. So, we want to define a static parse_params</div><div class="gmail_extra">> method needs to defined be in Xapian::Weight that would take "scheme" and</div><div class="gmail_extra">> a Registry object to do the following set of things:</div><div class="gmail_extra">></div><div class="gmail_extra">> 1. get an appropriate weighting scheme object by looking at the first</div><div class="gmail_extra">> word in "scheme" string,</div><div class="gmail_extra">></div><div class="gmail_extra">> 2. call parse_params method defined in that particular weighting scheme</div><div class="gmail_extra">> subclass with just parameter string (e.g. parse_params("1.0 0.5")) which</div><div class="gmail_extra">> creates and returns the weighting scheme object.</div><div class="gmail_extra">></div><div class="gmail_extra">> 3. then ultimately return the weighting scheme object to the code in omega:</div><div class="gmail_extra">></div><div class="gmail_extra">>     enq.set_weighting_scheme(Xapian::Weight::parse_params(scheme));</div><div class="gmail_extra">></div><div class="gmail_extra">> This is my current understanding of the main idea here but if you see</div><div class="gmail_extra">> something odd then please let me know.</div><div class="gmail_extra">></div><div class="gmail_extra">> > Yes, that's the idea.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Okay, great! -- that's a cue for me to start implementing the idea.</div><div class="gmail_extra"><br></div><div class="gmail_extra">> We probably don't want to use the same name for the virtual method which</div><div class="gmail_extra">> takes just the parameter part, especially as both would be callable with</div><div class="gmail_extra">> a single string (I did use "parse_params" to refer to both, but that was</div><div class="gmail_extra">> mostly because I got mixed up as to which I was talking about).</div><div class="gmail_extra"><br></div><div class="gmail_extra">That had me confused at one point in the previous conversations :) but</div><div class="gmail_extra">now the idea seems clear to me. </div><div class="gmail_extra"><br></div><div class="gmail_extra">> Perhaps "create_from_parameters" for that one?  It's conceivably useful</div><div class="gmail_extra">> to call from user code (if you want to fix the weighting scheme and just</div><div class="gmail_extra">> allow the parameters to be specified) but the longer name is a bit of a</div><div class="gmail_extra">> signal that it's less commonly used.</div><div class="gmail_extra"><br></div><div class="gmail_extra">"create_from_parameters" sounds good to me and it makes quite sense</div><div class="gmail_extra">given the thoughts behind it.</div><div class="gmail_extra"><br></div><div class="gmail_extra">P.S. it has been another busy week on campus here, so didn't quite</div><div class="gmail_extra">have a chance to further dive into it. Although, the weekend is here</div><div class="gmail_extra">so I'll make some progress on this front in the next few days. </div><div class="gmail_extra"><br></div><div class="gmail_extra">Thanks,</div><div class="gmail_extra">Vivek</div></div></div>