What do you think about converting lucene.net source code to support, silverlight and the compact framework.
i looked into the source code to try and get it to work on a window mobile device, and also tried to get it to compile under a silverlight library. overall in theory this should work just fine, there are just some changes on the classes we use. Heres a small list of the things that i've noticed, although i can't remember what framework had a problem with what, but here are just a list that either one, or both had a problem with. - Non-Generic Collections are not supported in silverlight 2 (HashTable, ArrayList, ect...) - ThreadStatic Attribute does not exist - ThreadLocalState does not exist - BinaryFormatter, SerializableAttribute, and ISerializable do not exsist - Remoting is not available I think the biggest problem would be the use of the BinaryFormatter, although it was used in only a few places, it was in some places in the source code that was very greek to me, so i couldn't come to a conclusion on how to handle these parts without having a deep understanding how lucene.networks. the second biggest change would be the use of non-generic collections. There are lots of non-generic collections in the source code, some of the biggest being HastTable, and ArrayList classes. I've come accross an article that posted a conversion table on non-generic to generic collections. The article is here<http://blogs.msdn.com/bclteam/archive/2007/06/25/bcl-refresher-converting-the-non-generic-collections-inbar-gazit.aspx>. for the ThreadStaticAttribute, and the ThreadLocalState, this can be done easily with a new data structure, i can actually make one that will hold types that are specific to each thread, if interested. having made these changes Lucene.Net can be more available to new devices such as running on a window mobile cell phone, or your pda, or run in a windows, linux, or mac computer that runs a silverlight application. I'm willing to help work on these changes, like converting the non-generic collections, and the thread specific structures. just need to suguestions on how to go about replacing the binary serialization, and some suggestions on the remoting parts. but other than that this should work just fine. I'm very interested in this subject, as i am writing a framework that will run on top of lucene to support indexing POCO objects and searching them ( http://www.codeplex.com/ObjectSearch) it's not done as much, i keep rethinking of a way to go about it, but my general idea is much like how the compass framework for java works. I would like to extend this functionality for mobile devices and silverlight applications as well but i need lucene to support these frameworks too.