You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucenenet.apache.org by "Andrew C. Smith" <po...@gmail.com> on 2008/11/04 20:43:34 UTC

Silverlight, Compact Framework Support

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, althought 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 specifiec to each thread, if intrested.

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.

Sooo.... what do you think? I'm willing to help work on these changes, like
coverting the non-generic collections, and the thread specific structures.
just need to suguestions on how to go about replacing the binary
serialization, and some suguestions on the remoting parts. but other than
that this should work just fine.

I'm very intrested in this subject, as i am writing a framework that will
run on top of lucene to support indexing POCO objects and searching them,
much like how the compass framwork for java works. I would like to extend
this functionality for mobile devices and silverlight applications as well.

Re: Silverlight, Compact Framework Support

Posted by "Andrew C. Smith" <po...@gmail.com>.
Yes this is true that silverlight seems to be more of a lightweight pretty
wrapper around some services, but it still might be useful to provide a
lucene.net based spell check index. or other creative things that you can do
with a full text index.

On Wed, Nov 5, 2008 at 12:35 AM, Michael Mitiaguin <mi...@gmail.com>wrote:

> Personally, don't understand why not to use LINQ to objects for searches in
> collections , unless you save big chunks of text in each object. As for
> silverlight applications , aren't they supposed to be rather thin in
> general
> where other layer over net  serves query from Silverlight.
> On Wed, Nov 5, 2008 at 3:20 PM, Andrew C. Smith <poeticvenom@gmail.com
> >wrote:
>
> > 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.
> >
>

Re: Silverlight, Compact Framework Support

Posted by Michael Mitiaguin <mi...@gmail.com>.
Personally, don't understand why not to use LINQ to objects for searches in
collections , unless you save big chunks of text in each object. As for
silverlight applications , aren't they supposed to be rather thin in general
where other layer over net  serves query from Silverlight.
On Wed, Nov 5, 2008 at 3:20 PM, Andrew C. Smith <po...@gmail.com>wrote:

> 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.
>

Silverlight, Compact Framework Support

Posted by "Andrew C. Smith" <po...@gmail.com>.
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.