I am writing headers for high-level interface of Lucene. It is intended to bridge GNUstep and Lucene and probably mimic OSX spotlight. Since Etoile would be the most likely user for these interface, I would like to have some opinions on them. You can check the Etoile/Frameworks/LuceneKit/Headers/LCIndexManager.h and Etoile/Frameworks/LuceneKit/Headers/Importer/LCImporter.h I add some document for each method.
Basically, LCImporter is just like spotlight plugin, which is quite simply. LCIndexManager is like NSFileManager. You can add, search, remove files. You can specify which directory/files to index or not, and which importers to use. Importers know what type of files they can handle. So you can just add all the importers you have in LCIndexManager. They will figure out which one(s) to use. The currently model is based on file system. I don't know whether there is an abstract or virtual system in Etoile which treat file system, memory and database in the universal way. If so, I would like to adapt it. I intend to make it more general so that people can use it in their own application without the existence of Etoile workspace. But it will definitely depend on some of the Etoile frameworks. Comment are very welcome. It is ealier to change the interface before I really work on the implementation. But if there is no further comment, I will start to implement them soon. Have fun. Yen-Ju
