Date: 2004-08-11T12:56:58 Editor: DanielNaber <[EMAIL PROTECTED]> Wiki: Jakarta Lucene Wiki Page: Lucene2Whiteboard URL: http://wiki.apache.org/jakarta-lucene/Lucene2Whiteboard
divide into compatible and non-compatible changes Change Log: ------------------------------------------------------------------------------ @@ -1,6 +1,6 @@ = Lucene 2.0 = -Release 2.0 will primarily make incompatible API improvements. New, back-compatible features can be easily added in point releases, and should not be listed here. +Release 2.0 will primarily make incompatible API improvements. == Release Migration Plan == @@ -16,21 +16,26 @@ 4. Rename PhrasePrefixQuery to be something like MultiPhraseQuery. Also make MultipleTermPositions a private nested class of this, as this is the only place MultipleTermPositions is used. - 5. Rename InputSteam to IndexInput and OutputStream to IndexOutput. Also make both of these interfaces and add BufferedIndexInput and BufferedIndexOutput as the implementation used by FSDirectory, RAMDirectory, etc. This would permit unbuffered and native implementations (e.g., that use mmap) that could potentially speed things considerably. + 5. Rename InputStream to IndexInput and OutputStream to IndexOutput. Also make both of these interfaces and add BufferedIndexInput and BufferedIndexOutput as the implementation used by FSDirectory, RAMDirectory, etc. This would permit unbuffered and native implementations (e.g., that use mmap) that could potentially speed things considerably. 6. Replace DateField with something that formats dates suitably for RangeQuery. 7. Move language-specific analyzers into separate downloads? Also move analysis/de/WordlistLoader.java one level upwards, as it's not specific to German at all. - 8. Add support for span queries to query parser? + 8. Remove public PrintStream infoStream from IndexWriter and System.out.println() from TermVectorsReader. Instead use some kind of Logger which is customizable thru the API to print debug, error and warning messages within lucene. The logger must not be an external library like log4j, it could be a small implementation directly in lucene to avoid references to external packages. - 9. Implement an option for error handling described on the mailing list: [http://www.mail-archive.com/[EMAIL PROTECTED]/msg04050.html message] + 9. Add a non-static method isCurrent() to IndexReader and remove static getCurrentVersion() and lastModified methods: [http://www.mail-archive.com/[EMAIL PROTECTED]/msg06143.html] - 10. Add a non-static method isCurrent() to IndexReader and remove static getCurrentVersion() and lastModified methods: [http://www.mail-archive.com/[EMAIL PROTECTED]/msg06143.html] - 11. Remove public PrintStream infoStream from IndexWriter and System.out.println() from TermVectorsReader. Instead use some kind of Logger which is customizable thru the API to print debug, error and warning messages within lucene. The logger must not be an external library like log4j, it could be a small implementation directly in lucene to avoid references to external packages. +== Other Changes == - 12. Implement a callback interface for processes which can run for several minutes like IndexWriter.optimize(). The idea is to define a simple public interface which can be implemented by developers using lucene. The object implementing the callback, could be passed to methods like optimize() and can inform the caller when one of the steps to process has finished. This would make it much easier in interactive applications to inform the user that the system is working and not frozen. +Here's a list of planned changes that either don't affect the API or that can be implemented in an API compatible way: + + 1. Add support for span queries to query parser? + + 2. Implement an option for error handling described on the mailing list: [http://www.mail-archive.com/[EMAIL PROTECTED]/msg04050.html message] + + 3. Implement a callback interface for processes which can run for several minutes like IndexWriter.optimize(). The idea is to define a simple public interface which can be implemented by developers using lucene. The object implementing the callback, could be passed to methods like optimize() and can inform the caller when one of the steps to process has finished. This would make it much easier in interactive applications to inform the user that the system is working and not frozen. == Schedule == --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]