[ https://jira.duraspace.org/browse/DSCR-22?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tim Donohue updated DSCR-22: ---------------------------- Assignee: Mark Diggory Status: Open (was: Received) Assigning this to mdiggory as this already looks to have been committed by him. Plus, I want to link this back to DS-868, so that we can close it as already fixed. > Discovery module back end rewrite to support discovery without solr. > -------------------------------------------------------------------- > > Key: DSCR-22 > URL: https://jira.duraspace.org/browse/DSCR-22 > Project: DSpace Discovery Module > Issue Type: Improvement > Reporter: Kevin Van de Velde > Assignee: Mark Diggory > Priority: Major > Attachments: Discovery_implementation_independent_of_solr v0.1.patch > > > The goal of this task was twofold. > 1) Ensure that discovery doesn't have to use solr as a backend, in other > words ensure that user can plug in their own backend implementation. > 2) Rewrite some of the code to make it more logical (example: the sidebar > filters for a community page where rendered because the > CommunityRecentSubmissionsTransformer extended the > AbstractsFiltersTransformer => logically these are 2 completely different > things). > This task focuses completely on these 2 point. Please bear mind that almost > nothing in the UI has been changed. While programming this task I also had a > minor feature request which I implemented namely the following: > The autocomplete filters can be configured to not split words on a space, > this is particularly useful for authors. The changes are briefly described > below. > a) A new discovery sub module has been created named "dspace-discovery-solr" > this module is the only module that contains any solr dependencies and > contains the old " SolrServiceImpl" class and the > spring-dspace-addon-discovery-services.xml spring file. This module is used > by default and ensures that a discovery out of the box will still work. None > of the other discovery modules have dependencies on this module so it can be > replaced very easily. > b) The "dspace-discovery-provider" module has lost the all the solr > dependencies as explained and the "SearchService" interface has undergone > some changes, the search methods don't require a solrQuery anymore and do not > return a solrResult. > Instead 2 new objects have been created > * DiscoverQuery: will hold all query information > * DiscoverResult: will contain the resulting dspace objects and/or the facets > By doing things this way any programmer can implement the search service and > write their own backend. > c) All the user interface classes have been rewritten to support these new > objects. > d) One logical change was also made namely the following: > The abstractFilters class has been transformed into the > "SidebarFacetsTransformer". The facets will still appear on the same places, > but unlike earlier where the only reason the community had sidebar facets was > that the "CommunityRecentSubmissions" class extended the filters class the > SidebarFacetsTransformer is now called on each community page. I did this > because it just makes more sense that way. > e) I also added an extra method to indexing implementation of solr, named " > indexItemFieldCustom" should it ever be required to adjust some simple > indexing task the entire " SolrServiceImpl" does not need to be overwritten. > One simply extends the class and implement that method (a boolean is returned > which can prevent further indexing of the metadata field). > There is one thing that remains unfinished and that is the related items, I'm > still thinking on the best way to implement that with the > DiscoveryQuery/DiscoveryResult objects, if anybody has some suggestion I'm > always willing to listen. > Please bear in mind when testing with this patch that solr schema has been > altered and a complete forced re-index of discovery is required. > Once this patch (after some changes & small improvements) gets committed I > will start work to ensure that discovery will use the configurationService > instead of its own configuration methods. > Ps: this patch also includes a bugfix for the following JIRA task: > https://jira.duraspace.org/browse/DS-868 -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://jira.duraspace.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA The must-attend event for mobile developers. Connect with experts. Get tools for creating Super Apps. See the latest technologies. Sessions, hands-on labs, demos & much more. Register early & save! http://p.sf.net/sfu/rim-blackberry-1 _______________________________________________ Dspace-devel mailing list Dspace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dspace-devel