I am building a C# windows form application that searches a database and displaying the results. I am trying to find a guide on how to create facets with Lucene but it seems
There are a few options.
In Lucene.Net 4.8.0, you can use the Lucene.Net.Facet module to setup faceted search. See the Lucene API documentation.
You could use the Simple Faceted Search contrib project, but as far as I can tell, it only groups the facets for you and gets their count. I believe that if you need to actually list what matches the selected facets you have to build it yourself.
https://cwiki.apache.org/confluence/display/LUCENENET/Simple+Faceted+Search
https://github.com/apache/lucenenet/tree/812e1c541f1a00392391c5761fd3dcb7b0aedd88/src/contrib/SimpleFacetedSearch
https://github.com/apache/lucenenet/blob/3.0.3/test/contrib/SimpleFacetedSearch/TestSimpleFacetedSearch.cs
Use BoboBrowse.Net. It is a full faceted search engine that not only works out the facet counts, but allows facets to be selected as well as retrieving the list of matches with built in sorting and paging. There are also lots of built-in facet types such as ranges and geo-location.
Note that although the demos are done in MVC, setting it up in Windows Forms is similar (easier actually because you don't need to use AJAX to reload the results when the selections change).
Use SOLR. It is a server-based solution that runs on Java that can be set up to do faceted search.
There is also a .NET client for SOLR - (faceting documentation)