1

I currently use SQL Server to store products in a large catalog web site. I'd like to rebuild the simple categorization we have to something with tags & facets so that users can filter down to relevant subsets as quickly as possible. I should NOT do this myself. Without going too far afield (VM to host level 3 aeai) does anyone know of a good library or framework to manage all the twiddly bits?

Thanks!

Jim

James White
  • 2,062
  • 2
  • 24
  • 36

3 Answers3

1

I have recently completed a port of the BoboBrowse faceted search engine (called BoboBrowse.Net) that is built on top of Lucene.Net. It is open source and available on NuGet.

Since it works on top of Lucene.Net, you just need to provide the facet data in a Lucene.Net index which can be built by using the built-in Lucene.Net tools, or you could potentially extend the Directory class to pull the data directly from SQL Server.

Then you just need to set up facet handlers and perform a browse against the index. The browse engine takes care of several details for you, such as:

  1. Performing the search based on a Lucene.Net query (or it will match all records so you can browse them all).
  2. Listing the facets.
  3. Listing the facet values (either the matching ones, or you can expand all of them).
  4. Listing the facet value counts.
  5. Sorting the facet values.
  6. Selecting facet values (for drilling down into the results).
  7. Listing the results.
  8. Paging the list of results.
  9. Sorting the list of results.
  10. Formatting the facet data for display in the results (based on the culture).

There are also several specialized facet handlers (simple, path, range, dynamic time range, multi-value, geo, histogram, etc.) and you can extend the framework to build your own, if needed.

NightOwl888
  • 55,572
  • 24
  • 139
  • 212
1

You can implement this with Lucene.NET or Solr/SolrNet. See also What search tools are available for ASP.NET site?

Community
  • 1
  • 1
Mauricio Scheffer
  • 98,863
  • 23
  • 192
  • 275
0

I've created a custom .NET faceted search for 3 sites now, getting a little better at it each time. I'm at the point now where I can copy a lot of ideas and code from past implementations to save myself time. But it is definitely time consuming if you're literally starting from scratch.

It is expensive and probably not what you're looking for, but the only faceted search engine I know of that's for sale is the end-to-end solution that Endeca provides. Unfortunately I don't know of a cheap or free .NET faceted search engine out there.

UPDATE: It looks there's also one called FAST ESP.

Steve Wortham
  • 21,740
  • 5
  • 68
  • 90
  • Cool thanks, I usually have to stop myself from going custom, but until there is an NFacetedSearch project out there, looks like that is the solution. – James White Oct 22 '09 at 16:30