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.

Reply via email to