Improve speed of ThaiWordFilter by CharacterIterator, factor out LowerCasing
and also fix some bugs (empty tokens stop iteration)
---------------------------------------------------------------------------------------------------------------------------------
Key: LUCENE-2404
URL: https://issues.apache.org/jira/browse/LUCENE-2404
Project: Lucene - Java
Issue Type: Bug
Components: contrib/analyzers
Reporter: Uwe Schindler
Assignee: Robert Muir
Fix For: 3.1
Attachments: LUCENE-2404.patch
The ThaiWordFilter creates new Strings out of term buffer before passing to The
BreakIterator., But BreakIterator can take a CharacterIterator and directly
process on it without buffer copying.
As Java itsself does not provide a CharacterIterator implementation in
java.text, we can use the javax.swing.text.Segment class, that operates on a
char[] and is even reuseable! This class is very strange but it works and is in
JDK 1.4+ and not deprecated.
The filter also had a bug: It stopped iterating tokens when an empty token
occurred. Also the lowercasing for non-thai words was removed and put into the
Analyzer by adding LowerCaseFilter.
--
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]