On Monday 24 September 2007 11:23, melix wrote: > > Oops, forget it. It *does* seem I didn't have understood exactly what the > while (true) loop did. Therefore I wasn't adding the very first submatch. > Makes more sense now !
I read through the NearSpansOrdered code once more, and I'm glad I added some comments to allow me to understand the code again. I'd prefer a version in which fewer comments are necessary, but I don't know a simpler way. Regards, Paul Elschot > > > melix wrote: > > > > I think I'll focus on that later, since it requires me to copy a whole > > bunch of sources from the core. But I have another tough question : I am > > working with the NearSpansOrdered class in order to add my match support. > > But I have a serious problem I don't understand, maybe you could help me. > > > > Say I have a query "a NEAR b". With this case, I does happen that the > > shrinkToAfterShortestMatch() returns true although "a" is in a document, > > and "b" in another one. Therefore, the next() method returns true too, and > > it breaks my algorithms. Is there anything I'm missing ? Is this a bug ? > > > > Thanks, > > > > > > Paul Elschot wrote: > >> > >> Cedric, > >> > >> The algorithms of the four scorers used by BooleanScorer2 are > >> fairly straightforward by themselves, a short look at the code > >> should suffice to get the idea. > >> The exception to that is BooleanScorer, but since this is > >> only used as an option, it's not really necessary to explain it. > >> The one advantage of BooleanScorer is that it is very fast for > >> disjunctions. > >> > >> Regards, > >> Paul Elschot > >> > >> > >> > >> On Sunday 23 September 2007 13:11, melix wrote: > >>> > >>> Hi Paul, > >>> > >>> His there any document which explains how those scorers interact ? My > >>> main > >>> problem is finding out how to create a match instance for each call to > >>> next(), and in boolean queries, it is rather difficult to figure out how > >>> to > >>> do that. An explanation on the algorithms would surely help. > >>> > >>> Thx. > >>> > >>> > >>> Paul Elschot wrote: > >>> > > >>> > Cedric, > >>> > > >>> > On Saturday 22 September 2007 11:45, melix wrote: > >>> >> The problem was even harder when I had to add the match() method to > >>> the > >>> >> BooleanQuery : this class is so complex, and uses so many protected > >>> or > >>> >> inner > >>> >> classes (for optimization purposes, I must understand) that I would > >>> have > >>> >> to > >>> >> copy a lot of the original source code just to add my method. As > >>> >> documentation on how it works is really hard to find, I decided it > >>> would > >>> >> be > >>> >> simpler if I wrote my own boolean queries (which is what I've done > >>> now). > >>> >> I > >>> >> know it must be much less performant, but makes the tasks much > >>> easier. > >>> > > >>> > As long as your scorers are (a combination of) normal target classes > >>> of > >>> > BooleanScorer2 you should get the same efficiency. > >>> > These target classes are ConjunctionScorer, DisjunctionSumScorer, > >>> > ReqOptSumScorer and ReqExclScorer. These scorees can be used for > >>> > "boolean" operators AND, OR, ANDoptional, and ANDNOT. > >>> > For some cases of top level OR, BooleanScorer can also be a target > >>> > scorer when scoring out of document order is allowed. > >>> > Most of the complexity of BooleanScorer2 comes from mapping > >>> > the + and - query operators for required and prohibited subqueries > >>> > to these target scorers. > >>> > > >>> > Regards, > >>> > Paul Elschot > >>> > > >>> > --------------------------------------------------------------------- > >>> > To unsubscribe, e-mail: [EMAIL PROTECTED] > >>> > For additional commands, e-mail: [EMAIL PROTECTED] > >>> > > >>> > > >>> > > >>> > >>> -- > >>> View this message in context: > >> http://www.nabble.com/Span-queries%2C-API-and-difficulties-tf4500460.html#a12845374 > >>> Sent from the Lucene - Java Developer mailing list archive at > >>> Nabble.com. > >>> > >>> > >>> --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>> For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >>> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > >> > > > > > > -- > View this message in context: http://www.nabble.com/Span-queries%2C-API-and-difficulties-tf4500460.html#a12856546 > Sent from the Lucene - Java Developer mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
