lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karl Wettin (JIRA)" <>
Subject [jira] Commented: (LUCENE-1257) Port to Java5
Date Sat, 03 Oct 2009 11:48:23 GMT


Karl Wettin commented on LUCENE-1257:

bq. Wait ... do you mean you got rid of some of the reflection or did we lose your changes?
I'm seeing some nasty slow reflection in there still ...

My changes was to the abstract Snowball stemmer class. I simply added an abstract method and
got rid of the reflection in the Lucene filter. 

One could argue that we should update the Snowball compiler rather than updating the Java
code it renders. But honestly I think we should just update the rendered code and then report
any improvement found to the Snowball ml and keep track of it in the package readme.

bq. err... looks like perhaps its only hit once though and then reused.. maybe not so nasty.
My first time looking at this code, so I'm sure you can clear it up ...

It could still be rather expensive per stem at query time. I vote for getting rid of it if
we can. I'll throw an eye at it.

> Port to Java5
> -------------
>                 Key: LUCENE-1257
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Analysis, Examples, Index, Other, Query/Scoring, QueryParser, Search,
Store, Term Vectors
>    Affects Versions: 2.3.1
>            Reporter: C├ędric Champeau
>            Assignee: Uwe Schindler
>            Priority: Minor
>             Fix For: 3.0
>         Attachments: java5.patch, LUCENE-1257-Document.patch, LUCENE-1257-StringBuffer.patch,
LUCENE-1257-StringBuffer.patch, LUCENE-1257-StringBuffer.patch, lucene1257surround1.patch,
> For my needs I've updated Lucene so that it uses Java 5 constructs. I know Java 5 migration
had been planned for 2.1 someday in the past, but don't know when it is planned now. This
patch against the trunk includes :
> - most obvious generics usage (there are tons of usages of sets, ... Those which are
commonly used have been generified)
> - PriorityQueue generification
> - replacement of indexed for loops with for each constructs
> - removal of unnececessary unboxing
> The code is to my opinion much more readable with those features (you actually *know*
what is stored in collections reading the code, without the need to lookup for field definitions
everytime) and it simplifies many algorithms.
> Note that this patch also includes an interface for the Query class. This has been done
for my company's needs for building custom Query classes which add some behaviour to the base
Lucene queries. It prevents multiple unnnecessary casts. I know this introduction is not wanted
by the team, but it really makes our developments easier to maintain. If you don't want to
use this, replace all /Queriable/ calls with standard /Query/.

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:
For additional commands, e-mail:

View raw message