So I haven't been putting a whole lot of work into Lucene4c lately,
mainly as a result of picking up and moving across the country for a new
job. That's pretty much taken care of at this point, and I'm finally
settled enough that I can pick up this project again.
Well, actually, I've been at least sort of settled for the past few
weeks, but every time I sat down and tried to get started with the part
of Lucene4c I had been hacking on before I moved I just never got
anywhere. So I put it down and stopped worrying about it for a while.
Then, in the past few days I got motivated again, although it was in a
slightly different way than I expected. I noticed that the linux
distribution I had on my laptop actually happened to have a recent
snapshot of GCJ on it, and since it'd been a while since I really played
with GCJ I decided to give it a shot. Lucene4c was the obvious place to
start playing.
So far, I've got a reasonable start on a version of Lucene4c that sits
on top of a GCJ compiled Lucene, using its CNI interfaces to call from a
thin layer of C++ code into Java. Right now I've got it creating
documents and fields, and later tonight I expect to be indexing
documents. Hopefully searching will come reasonably soon after that.
I think this is the shortest path towards actually having something that
people can make use of, which will hopefully lead to this becoming a
project with more people than just me hacking on it ;-)
Does this mean I'm getting rid of the C implementation? Well, yes and
no. I'm not planning on hacking on it in the near future, but there is
a large chunk of useful code there, and I'm not just going to delete it
or something. When writing the interface to the GCJ backed code I'm
going to make a concerted effort to make it possible to plug a C
implementation in as the backend without too much trouble, so perhaps in
the future someone will be able to revisit the code and make it useful
again.
Anyway, if anyone wants to take a look at what I've got, just speak up
and I'll commit it on a branch in the repository. I'm planning on doing
that eventually anyway (probably once it hits "minimum level of
functionality", which at this point means "basic indexing and searching
is working"), but if other people want to see what I've got I'm happy to
speed up the process.
-garrett
mainly as a result of picking up and moving across the country for a new
job. That's pretty much taken care of at this point, and I'm finally
settled enough that I can pick up this project again.
Well, actually, I've been at least sort of settled for the past few
weeks, but every time I sat down and tried to get started with the part
of Lucene4c I had been hacking on before I moved I just never got
anywhere. So I put it down and stopped worrying about it for a while.
Then, in the past few days I got motivated again, although it was in a
slightly different way than I expected. I noticed that the linux
distribution I had on my laptop actually happened to have a recent
snapshot of GCJ on it, and since it'd been a while since I really played
with GCJ I decided to give it a shot. Lucene4c was the obvious place to
start playing.
So far, I've got a reasonable start on a version of Lucene4c that sits
on top of a GCJ compiled Lucene, using its CNI interfaces to call from a
thin layer of C++ code into Java. Right now I've got it creating
documents and fields, and later tonight I expect to be indexing
documents. Hopefully searching will come reasonably soon after that.
I think this is the shortest path towards actually having something that
people can make use of, which will hopefully lead to this becoming a
project with more people than just me hacking on it ;-)
Does this mean I'm getting rid of the C implementation? Well, yes and
no. I'm not planning on hacking on it in the near future, but there is
a large chunk of useful code there, and I'm not just going to delete it
or something. When writing the interface to the GCJ backed code I'm
going to make a concerted effort to make it possible to plug a C
implementation in as the backend without too much trouble, so perhaps in
the future someone will be able to revisit the code and make it useful
again.
Anyway, if anyone wants to take a look at what I've got, just speak up
and I'll commit it on a branch in the repository. I'm planning on doing
that eventually anyway (probably once it hits "minimum level of
functionality", which at this point means "basic indexing and searching
is working"), but if other people want to see what I've got I'm happy to
speed up the process.
-garrett