Overview
In the past, searching for what you wanted on a Web site was based on the navigational approach. This was generally achieved by providing a table of contents in order for people to find what they wanted. More recently, direct search has been the preferred method of finding what you want. By allowing free-form search, people can choose the words and find information in documents based on those words. Faceted search combines the two by allowing you to combine the text-based search with a filtered navigational process that progressively narrows down the results of the text based search.
Telligent Evolution facets the data by each field and its values. By using the search service, you can provide a document field and it will return a list of the unique values for that field, along with the number of documents containing each value. For example, if you have a field called "color," then by using the search API you could retrieve the unique values (e.g., red, blue, green) and the number of documents containing those values.
Filtering
When you use the search API to retrieve faceted values, those values are based upon the results returned by the query. You can use this information to allow the user to view those faceted values and make decision on how to narrow down the current search results. This is done by using field filters and applying them to the query, further narrowing down the search results returned. This also narrows the facets returned. But in some cases, this is not the desired outcome.
Faceting overview
Faceting is the ability to retrieve counts of the values for a field stored in the search index. For example, there is a field called ApplicationType stored in each document in the search index. It is allowed to have a single value such as forum, wiki, blog, group, etc. When you get the facets for the ApplicationType field, it will return a list of all the unique values for this field and the number of documents that have this value.
Making facets ignore filters
In some cases, you want the faceted results to represent a larger scope than the currently filtered search result set. By ignoring filters, you can broaden the list of faceted values returned. This can be handy when you filter results to one value, yet you still want to display all of the choices for that value regardless of the current filter applied. For example, if a field called "color" has only two values among all of the returned documents, such as red and yellow, filtering to yellow will not display any documents that contain the value red for the color field. By ignoring the color choice filter when retrieving faceted values, you can now continue to display the original possible choices to the user while continuing to filter their results. This aspect of faceting has many applications. For example, if a user chooses to see only wiki results, you can continue to display the number of blogs that match their original search query so that they may choose the blog filter if the wikis do not contain what they are seeking.
Collapsing forum results
When you search for information in forum threads using faceted search, search collapses a thread and its reply posts into a single list result instead of counting both in the result list. For example, if there are three threads and one thread has two replies, Telligent Evolution reports that there are five forum documents, but only counts three results in the list. Telligent Evolution hides the replies to avoid muddying up the the result list. But you can view all results for a forum thread by clicking the thread.
Disabling forum results collapsing
Collapsing can be disabled if desired in the communityserver.config file. To do so, add the following to your communityserver_override.config file:
<Override xpath="/CommunityServer/Search/Solr"
mode="change"
name="enableFieldCollapsing"
value="false" />