[ 
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

Reply via email to