[ https://issues.apache.org/jira/browse/LUCENE-1017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Peter Keegan updated LUCENE-1017: --------------------------------- Attachment: BoostingTermQuery.patch Here is new version that traverses the term positions properly, I believe. It's only about 5% faster than the spans version, though. It's quite possible that this could be improved. I'm using TermScorer to get me to the current doc and then setting TermPositions to the same doc. Do you see any inefficiencies with the 'next' and 'skipTo' calls, particularly in 'getPayloads'? > BoostingTermQuery performance > ----------------------------- > > Key: LUCENE-1017 > URL: https://issues.apache.org/jira/browse/LUCENE-1017 > Project: Lucene - Java > Issue Type: Improvement > Components: Search > Affects Versions: 2.2 > Environment: all > Reporter: Peter Keegan > Attachments: BoostingTermQuery.java, BoostingTermQuery.patch, > termquery.patch > > > I have been experimenting with payloads and BoostingTermQuery, which I think > are excellent additions to Lucene core. Currently, BoostingTermQuery extends > SpanQuery. I would suggest changing this class to extend TermQuery and > refactor the current version to something like 'BoostingSpanQuery'. > The reason is rooted in performance. In my testing, I compared query > throughput using TermQuery against 2 versions of BoostingTermQuery - the > current one that extends SpanQuery and one that extends TermQuery (which I've > included, below). Here are the results (qps = queries per second): > TermQuery: 200 qps > BoostingTermQuery (extends SpanQuery): 97 qps > BoostingTermQuery (extends TermQuery): 130 qps > Here is a version of BoostingTermQuery that extends TermQuery. I had to > modify TermQuery and TermScorer to make them public. A code review would be > in order, and I would appreciate your comments on this suggestion. > Peter -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]