I'd like to use "explain" mechanism to output some additional match information: scoring formula, detailed matching information and so on. But now it seems, "explain" works slower even than just logging of matching information to a file from score() method.
- What is the most effective way to do this? Is there a possibility to accelerate "explain", for example with scorer caching? - Lucene uses the only Scorer (for entire segment) for calling score() method. What about explain()? - Iterators are really - readable-once only? Regards, Vadim Gindin On Thu, Feb 22, 2018 at 3:03 PM, Adrien Grand <jpou...@gmail.com> wrote: > If you are talking about explanations, then yes, it's fine. Explain() is > used for debugging, it is fine if it is slow. However Lucene creates only > one Scorer for all documents of an entire segment when it comes to actually > running a query. > > Le jeu. 22 févr. 2018 à 07:06, Vadim Gindin <vgin...@detectum.com> a > écrit : > > > Adrien, thank's a lot! It looks like a working solution for my bugs. I > > really appreciate it. > > > > I just want to ask. Is it really effective way create a Scorer for every > > document? Can we say, that it's designed for Scorer to be lightweight and > > fast enough so? > > > > On Wed, Feb 21, 2018 at 6:42 PM, Adrien Grand <jpou...@gmail.com> wrote: > > > > > This might not solve all problems, but you should stop caching the > weight > > > in the query and stop caching the scorer in the weight: just create a > new > > > scorer in calls to explain(). > > > > > > Le mer. 21 févr. 2018 à 14:05, Vadim Gindin <vgin...@detectum.com> a > > > écrit : > > > > > > > The test gives the following error: > > > > > > > > java.lang.AssertionError: Docs enums are only supposed to be consumed > > in > > > > the thread in which they have been acquired. But was acquired in > > > > Thread[elasticsearch[node_s2][search][T#4],5,TGRP- > CustomQueryParserIT] > > > and > > > > consumed in > > > > Thread[elasticsearch[node_s2][search][T#2],5,TGRP- > CustomQueryParserIT]. > > > > at __randomizedtesting.SeedInfo.seed([935231818B6C9F26]:0) > > > > at > > > > > > > > org.apache.lucene.index.AssertingLeafReader.assertThread( > > > AssertingLeafReader.java:42) > > > > at > > > > > > > > org.apache.lucene.index.AssertingLeafReader.access$ > > > 000(AssertingLeafReader.java:36) > > > > at > > > > > > > > org.apache.lucene.index.AssertingLeafReader$ > > > AssertingPostingsEnum.advance(AssertingLeafReader.java:330) > > > > at > > > > > > > > org.apache.lucene.search.DisjunctionDISIApproximation.advance( > > > DisjunctionDISIApproximation.java:66) > > > > at > > > > > > > > com.detectum.query.phrase.PrizeDisjunctionScorer.explain( > > > PrizeDisjunctionScorer.java:220) > > > > > > > > from explain() method. > > > > > > > > > > > > > > > > On Tue, Feb 20, 2018 at 8:03 PM, Vadim Gindin <vgin...@detectum.com> > > > > wrote: > > > > > > > > > Probably it is not possible to attach files from email letter. Here > > > they > > > > > are: > > > > > > > > > > ConstTermScorer.java > > > > > < > > http://lucene.472066.n3.nabble.com/file/t493564/ConstTermScorer.java> > > > > > PrizeDisjunctionScorer.java > > > > > <http://lucene.472066.n3.nabble.com/file/t493564/ > > > > > PrizeDisjunctionScorer.java> > > > > > PhraseQuery.java > > > > > <http://lucene.472066.n3.nabble.com/file/t493564/PhraseQuery.java> > > > > > > > > > > > > > > > > > > > > -- > > > > > Sent from: http://lucene.472066.n3.nabble.com/Lucene-Java-Users- > > > > > f532864.html > > > > > > > > > > ------------------------------------------------------------ > --------- > > > > > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > > > > > For additional commands, e-mail: java-user-h...@lucene.apache.org > > > > > > > > > > > > > > > > > > > >