Contributor introductions...

1 view
Skip to first unread message

Peter Mateja

unread,
Nov 15, 2010, 4:56:05 PM11/15/10
to Lucere
Thought I'd offer to start a new thread for quick contributor
introductions.

codeplex username: ThePilot

I've been a .Net / C# developer since about 2004 (before that I was C/C
++ and Python for years). Briefly jumped over to the Java-side for a
few years, where I had my 1st interactions with Lucene. The company I
was working for had a large data feed of forum and blog posts and
comments which they were mining for content and patterns. Part of
this process involved indexing the incoming data with Lucene. As the
amount of data being processed grew, we decided to switch to using
SOLR in order to take advantage of the built in server management,
sharding, and some of the nice client / server features in place.

Now I'm back in C# land (and glad of it... Java was interesting but
definitely painful to work with after having experienced .Net 2.0+),
working in .Net 4.0. I love the power of the framework, of the C#
language (LINQ anyone?), and the apparent dedication that Microsoft
has shown to making this a truly innovative and forward moving
platform. I'm also really interested in the momentum happening in the
mono project. While I do use the .Net stack at work, personally, I'm
a Mac user, and love that I'm able to use my favorite language /
platform in my OS of choice.

At work we've been working on getting a new search mechanism in place
for our server app, and given my past experience with Lucene Java, I
petitioned for using Lucene.Net. I've written some extensions for our
implementation, loosely based on existing Java code in Compass, but
heavily .Netified and customized. The 1st item was a caching
Directory wrapper, which is initialized with 2 Directory instances...
the first being an expensive to access (typically remote) master
index, and the other being either a RAMDirectory or a local temp
FSDirectory as a fast cache. It handles synching the local cache to
the remote Directory, allowing for both reads and writes. The 2nd
item was a specialized remote Directory implementation which allows us
to use an in-house remote storage interface (used throughout our app)
to create and maintain indices over FTP, SFTP, etc. The 3rd item was
a DbDirectory implementation which allows indices to be maintained in
a (in our case MSSQL) database table, making use of varbinary
streaming for reads and writes (combined with the caching Directory
wrapper, this gives us fast cached reads combined with central DB
storage of the index.)

I'm definitely interested in the Lucene.Net project, and will also be
monitoring the official dev list and contributing as I can. However,
I definitely like the discussions going on in the Lucere list, so will
be contributing here as well. After having used the official port for
awhile now, I'm really excited to have a more .Net friendly library
(can I tell you how sick I am of de-obfuscating "Directory".)
Personally, I'm also interested in maintaining full compatibility with
mono (2.6 currently, though 2.8 is getting there.) I'll take a look
at the current work items / issues and jump in where needed.

Peter "ThePilot" Mateja
Reply all
Reply to author
Forward
0 new messages