<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><br>
I'd prefer to avoid adding things to the public API that don't get<br>
used by end users. However because LTR is outside the Xapian build<br>
tree, we can't easily give it privileged access to Xapian internals.<br></blockquote><div><br></div><div><div>Sorry for a delayed response. </div><div><br></div><div>The way I was thinking of performing reranking with updated weights was to add a class MSetRanker (basically containing a copy of MSet to be re-ranked) to Xapian public API, which would be a friend of MSet::Internal class so that it could access/update the weights and sort MSetItems accordingly, returning an updated MSet.</div><div><br></div><div>As you pointed out, two obvious issues with this are: 1) Unnecessary addition to Xapian public API since this class is not useful beyond letor. 2) It gives access to MSet internals to end users </div><div><br></div><div>What would you suggest should be the way out to access MSet internals from -letor, if we can't add things to -core's public API?</div></div><div><br></div><div>Regards,</div><div>Ayush</div></div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"></div></div></div></div></div></div></div></div></div>
</div></div>