DSpace/DSpace — pull request #67 by abollini (2012-08-16 19:29:22+00:00)
Title: DS-1218 BrowseDAO based on discovery

This contribution is supported by the University of Hong Kong that has
adopted the first version of this code since July 2010
Software development by the CILEA SURplus Team (http://www.cilea.it)

This is a full featured provider for the DSpace Browse System that read
data from the Discovery Search SOLR core.
The browse supports:
- all the actual browse system configuration options (item and metadata
browse, pagination, sorting)
- browse of withdrawn items
- search for authors used in the item mapper tool

Major changes:
- add two new search methods to the SearchService that allow you to
specify if you want or not withdrawn items in your result. The old
methods just call these new methods asking for no withdrawn item (this
assure backcompatiliby)
- the SearchServiceImpl now index also withdrawn item, new SolrDoc field
"withdrawn"
- DiscoverResult.Facet now keep information also about authority so
that is possible distinct facets related to homonyms authors, etc.
(this feature can be disabled in the discovery.cfg)
- changed the schema.xml the default should be to ignore field if not
otherwise specified (see also below)
- better support for projection, metadata are stored (not indexed) with
all related informations attached (authority, language). Metadata to
store for projection can be defined in the discovery.cfg

Other notes:
- SolrBrowseDAO/SolrCreateBrowseDAO use settings defined in the main
dspace.cfg (the browse section) this mean that sorting configuration is
not related to the discovery search sorting etc.
- Browse consumer should be disabled (if not only overhead but it still
works), the actual index work is done using the Discovery "plugin"
SolrServiceIndexPlugin (configurated via spring)
- SolrCreateBrowseDAO is able to remove the old tables created by the
DBMS DAO implementations simply using the browse command line script
(dspace index -d -f)
- to build the browse index it is required to run the discovery index
client (dspace update-discovery-index -b)