The most simple change (I personally believe it's an essential change) is to make the members private.
The second change for the object to be immutable would be to remove the positionIncrement, but since I'm no lucene guru, I can't tell what is better (hence the email).
I'll test the simples changes tonight to see if there is a sizable performance hit, and I'll wait to see if a guru speaks out about the controversial second change (which is also trivial).
Stephane
Otis Gospodnetic wrote:
It sounds to me that having the ability to do that that point 13. in CHANGES states is more important than trying to only slightly decrease the number of temporary objects instantiated.By the way, have you observed or measured the difference in performance, memory consumption or anything else, before and after your local changes? Not having those and making Token immutable for performance reasons would be wrong. Thanks, Otis --- stephane vaucher <[EMAIL PROTECTED]> wrote:I've noticed that there is a method public void
setPositionIncrement(int positionIncrement) that would probably have to disappear for Token to
be immutable. The CHANGES.txt doc seems to mention some good reasons why
it was added, but there is no code in CVS that seems to depend on it.
From CHANGES:
13. Added new method Token.setPositionIncrement().
This permits, for the purpose of phrase searching, placing
multiple terms in a single position. This is useful with
stemmers that produce multiple possible stems for a word.
This also permits the introduction of gaps between terms, so
that
terms which are adjacent in a token stream will not be matched
by
and exact phrase query. This makes it possible, e.g., to build
an analyzer where phrases are not matched over stop words which
have been removed.
Finally, repeating a token with an increment of zero can also be
used to boost scores of matches on that token. (cutting)
Any comments? With an immutable Token, does the positionIncrement
still have a reason for being there? If not, then I'll remove getPositionIncrement as well.
Stephane
Doug Cutting wrote:
PorterStemFilter).stephane vaucher wrote:1) Does anyone mind? Will it break anything?It shouldn't break anything.2) Are there units tests for this? (particularly
screwThe changes are obviously not spectacular, but I prefer not to
seeI don't know of any unit tests specifically for this. Mostly this change will affect compilation. In general though, if you don'teveryone up...
anythingunit tests for things that you think you might break, then it never hurts to write more unit tests.3) I've checked-out the latest version of lucene, is there
(likespecial I need to do if I get the go ahead to check my stuff in
lucene-deva dev list review)?If you're not a regular committer then please send diffs to
before comitting and give folks a few days to consider the changes.
Doug
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
__________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>