I'm starting to implement Find on a QuickSilver solution replacing the Lucene-based implementation. What I'm a bit puzzled about is how to implement a flexible way of handling facets/filters.
In the Lucene implementation all is controlled by the Mediachase.Search.Filters.config file which gives a quite good flexible way of handling which facets/filters should be available.
In Find it seems I must implement all facet logic in code making it not so flexible or am I missing something?
The structure for facets is to use the TermsFacetFor(x => x.Property) and since I need to provide that strongly typed information in the builup of the query there is no simple way of handling this, like say in a config-file or appSettings. A good solution would have been to let administrators have a way of controlling the facets and filters but since it seems that all needs to be coded there is no such way?
Another thing that comes apparent in how the customer we are working for wants the search functionality to be is that available filters and facets is based on the variants but the searchresult is presented as products.
The Quicksilver implementation for this is that the products have fields for color, sizes that represent their variants different settings. Is this the way to solve this or is there another way of filtering variants but presenting products?
Any suggestions on how to handle those scenarios?