= "Narrow your search" widget = || '''Date''' || 2012/09/11 || || '''Contact(s)''' || François Prunayre || || '''Last edited''' || 2012/09/11 || || '''Status''' || Ongoing || || '''Assigned to release''' || 2.9.x || || '''Resources''' || Resource available || == Overview == This proposal aims to provide a « Narrow your search » module aka as faceted search (http://en.wikipedia.org/wiki/Faceted_search). This module allows aggregation based on criteria (e.g. keywords, organization, dates, ...) with frequency for the current search. Output view could be a list (with link to add a specific criteria to the search) and optionnaly a tagcloud view (http://en.wikipedia.org/wiki/Tag_cloud). On the client side, user interacts with facets using :  * the facets summary used to select new filter  * the facet breadcrumb which indicates which filter has been applied and allows user to remove a filter. Those 2 components are created and interact with search form and search results widgets. A first implementation has been made on geocat.ch using the internal summary module. This proposal use Lucene faceting module to compute summary. === Proposal Type === * '''Type''': GUI Change, LuceneSearcher * '''App''': !GeoNetwork * '''Module''': Search Interface === Links === * '''Documents''': * example http://www.geocatalogue.fr/ * '''Email discussions''': * '''Other wiki discussions''': === Voting History === * Vote proposed by X on Y, result was +/-n (m non-voting members). ---- == Motivations == * Improve user search experience : facets help user to quickly refine search * Better performance : Lucene facet module using its own taxonomy index is faster than computing summary. * New way of presenting information : facet could be use to provide catalog indicators using charts (http://www.youtube.com/watch?v=ISEOKOq6t2Q&feature=plcp) == Proposal == === Facet response === Current implementation produce (see xml.search service) : {{{ }}} === Facet configuration === Configuration : list of search criteria which could be agregate Agregation type and criteria type: * text (e.g. keyword) * numérique (e.g scale) * date (niveau d'agrégation : semaine, mois, année) (e.g last update date) === Performance analysis === [[Image(geonetwork-test-on-lucene-faceting-module.png)]] === Changes === * Lucene * Update to version 3.6.1 * New dependency : lucene-facet * LuceneSearcher.makeSummary() * Add an option to search services to only produce the summary (like the fast option but really fast / only summary) * Add config file to define * criteria : MUST be in the index * criteria type : String|Number|Date * agregation type : * String : count * Number : count|equalInterval + classe ?| quantil + classe * Date : count|annualy|monthly|daily * sort option (count|name) === Backwards Compatibility Issues === == Risks == == Participants == * As above