This the my introduction to Lucene.NET as well as my first article on the subject, I will explain what it is and what you can do with Lucene.NET.First of all let me unveil what Lucene.NET is:

Lucene.NET is a information retrieval library which allows you to search through content in the broadest sense of the word: if you want to index your mother in law, you can! Well, you have to find a way to digitalize her first and I won’t cover that problem here. My point is that Lucene is agnostic to a specific information formats.

Because Lucene.NET is just a library, meaning that is doesn’t do anything out of the box, it is used in a wide variety of products, ranging from online search engines like Google and site specific search engines to desktop application and shrink wrapped software and even T9 like application for cell phones. The library is both powerful and scalable meaning that it can be used to search through millions of documents and still be lightning fast. The origin of Lucene.NET is Lucene, in fact:  it is a direct port from Java (Lucene) to C# (Lucene.NET) and the used index formats are binary compatible. There are also ports available to other platforms like C++ and Python.

Lucene is basically a two stage rocket: indexing and searching. Indexing is processes of breaking down input and storing that input in a format that Lucene indexes: Documents. Those Documents are sorted, grouped, compiled and stored in structure called an Index, the object responsible for that operation is the IndexWriter. The Index can be stored either on disk on in memory for later use.

The second part of a Lucene implementation is called searching or querying. It is basically saying what you want (creating a Query) and ask the Index which Documents match the criteria specified in the Query using an IndexReader. The IndexReader returns Hits, which is a collection of Documents matching that specific Query.

I will show you how to implement these two proceses in the next articles. That is it for now. I hope I caught your attention and that you learned what Lucene is and what it can do.

Share and Enjoy:
  • Print
  • Twitter
  • LinkedIn
  • Digg
  • DZone
  • del.icio.us
  • Google Bookmarks
  • StumbleUpon
  • Technorati