The guest post below is by Dan Tuffery, a senior developer at Ixxus, which is a global systems integrator, Alfresco Platinum Partner and member of the Alfresco Million $ Club who is also speaking at this year’s DevCon in Berlin. He has been working on Alfresco solutions for a number of years and is a certified Alfresco and Solr developer. After working with Solr and familiarising himself with its benefits, Dan has recently developed code which successfully integrates the faceted search capabilities of Solr with Alfresco 4.
‘Faceted Search’ is a powerful search feature that allows users to explore content collections by applying multiple filters to their search results in a navigational way.
This approach enables users to continue to employ a simple ‘keyword’ style search, but the analysis of the results allows them to intelligently add filters ‘as they go’ rather than trying to guess the right filters before starting the search. This means users can get to the right content more quickly with less fiddly search criteria.
Here at Ixxus, we’ve enabled this amazingly useful and much asked for, feature within Alfresco Share. All it takes is a simple installation and some straight-forward configuration using the Share administration interface.
You’ll be pleased to hear that we’re made our effort open source, so it is free for all to get started using and improve.
A picture is worth a 1000 words, so without further ado, here’s a screenshot:
One of the cool new features released in Alfresco was the integration of Solr to support search on the Alfresco repository. Solr is a fast, scalable open source search server built on top of Apache Lucene. In addition to providing performant full-text search, replication and distributed search, Solr also ships with a number of search features that will enhance the end user’s search experience, including faceted search (synonymous with faceted navigation, faceted query and faceted browsing).
So you’ve seen the results we can achieve with Facet Search and to help you get started I wanted to further illustrate the functionality of my implementation with Solr + Alfresco. Through the use of screenshots below, I will quickly walk you through the functionality to show how facet fields are added to Alfresco so that they are displayed along with the search results in Share.
A new Facet Management page has been added to Share’s admin console. The Facet Management page allows administrators to create, edit and delete facet fields within Alfresco. It also gives administrators control over how and when the facets should be displayed.
It is possible to navigate to the Facet Management page by selecting More from the main menu at the top of the page in Share.
By selecting the Facet Manager menu item in the left and column, the Facet Management page will be displayed.
Adding Facet Fields to Alfresco
When the New Facet button in the top right hand corner of the Facet Manager page is selected a dialog window will be presented that contains a facet field form.
The form contains a drop down of fields including facet field type, name, display, minimum count, etc. For example, if I select the property option from the facet type drop down list, a request is sent to Alfresco to get a list of properties that can be used as facets. The list that is returned in the response from Alfresco is populated in the field name drop down on the form.
Once I have saved the title property facet field, I shall also add facet fields for Content Type and Mime Type by choosing them the from the Facet Type drop down.
Now I have four facet fields added to Alfresco that I can now execute searches to see them in action.
So there you have it, Faceted Search in Alfresco. An easy and configurable way to add facets to an Alfresco instance and display them on the search results page. Let us know what you think (@Ixxus) and if you’re interested to see more, come hear Dan speak on this topic at DevCon Berlin next month!