Knack
Knack

Reputation: 1134

What are good inverted-index libraries to use in .NET?

I've got a .NET desktop application where I need to search large data sets. Each data set has about 100000 items containing 10 fields. The types of the fields are string, datetime, int, float and custom item types. There can be around 5 concurrent data sets, but the searches are only within one data set.

The search types are

I'm thinking of the following alternatives:

  1. Lucene.NET. But the port and maintainance seems to be a huge effort so as Solr satisfies the server needs I have concerns about the future of Lucene.NET. What's your opinion about the future-proof of Lucene.NET?
  2. Use Solr on the desktop as separate process.
  3. Are there alternatives to the Lucene based solutions?
  4. Create my own. Are there some references / tutorials? The good thing is, that I don't need sophisticated text analysis or any scoring / faceting features. Just search for a term (optional wildcards) and return a list of items.

Upvotes: 5

Views: 2091

Answers (2)

Ben Collins
Ben Collins

Reputation: 20686

I recently discovered a company called FlexSearch who seems to be using Lucene directly via IKVM. They have open-sourced their build scripts at http://github.com/flexsearch/flexlucene, and there are current NuGet packages published.

I'm just now in the process of migrating from Lucene.NET to FlexLucene, but so far it seems straightforward and gets me on a something that seems to stay up-to-date.

Upvotes: 2

Alexandre Rafalovitch
Alexandre Rafalovitch

Reputation: 9789

Use Solr (4.1) and SolrNet. You will need to compile latest SolrNet from source to allow it to connect to Solr 4+ (it's very easy).

100 thousand documents with 10 fields is something you can prototype on your personal computer with Solr without it breaking sweat.

The most difficult part is 'custom' items. You need to figure out what you want to search them as and convert them into one of Solr's recognized formats.

On the other points:

1) Lucene.Net is behind the latest possible and integration with Solr is very easy from .Net

3) I think Lucene/Solr/ElasticSearch are leading in the open-source space and are even killing the proprietary solutions

4) DON'T! Just DON"T. You will want to add one feature after another (geo?) and will be just reinventing the wheel.

Upvotes: 5

Related Questions