Changeset 25886 for gs3-extensions/solr

Show
Ignore:
Timestamp:
28.06.2012 16:40:00 (7 years ago)
Author:
sjm84
Message:

Some fixes to remove the Solr code from the main Greenstone code

Location:
gs3-extensions/solr/trunk/src/src/java/org/greenstone/gsdl3
Files:
1 added
1 modified

Legend:

Unmodified
Added
Removed
  • gs3-extensions/solr/trunk/src/src/java/org/greenstone/gsdl3/service/GS2SolrSearch.java

    r25863 r25886  
    2424import java.util.HashMap; 
    2525import java.util.Iterator; 
     26import java.util.List; 
    2627import java.util.Map; 
    2728import java.util.Set; 
     
    3031import org.apache.log4j.Logger; 
    3132import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer; 
     33import org.apache.solr.client.solrj.response.FacetField; 
    3234import org.apache.solr.core.CoreContainer; 
    3335import org.greenstone.LuceneWrapper3.SharedSoleneQueryResult; 
     36import org.greenstone.gsdl3.util.FacetWrapper; 
    3437import org.greenstone.gsdl3.util.GSFile; 
    3538import org.greenstone.gsdl3.util.GSXML; 
     39import org.greenstone.gsdl3.util.SolrFacetWrapper; 
     40import org.greenstone.gsdl3.util.SolrQueryResult; 
    3641import org.greenstone.gsdl3.util.SolrQueryWrapper; 
    3742import org.greenstone.util.GlobalProperties; 
     
    5257    public GS2SolrSearch() 
    5358    { 
     59        does_faceting = true; 
    5460        // Used to store the solr cores that match the required 'level'  
    5561        // of search (e.g. either document-level=>didx, or  
     
    102108            } 
    103109        } 
    104          
     110 
    105111        Element indexListElem = (Element) GSXML.getChildByTagName(info, GSXML.INDEX_ELEM + GSXML.LIST_MODIFIER); 
    106112        NodeList buildIndexElems = indexListElem.getElementsByTagName(GSXML.INDEX_ELEM); 
    107113 
    108         for(int j = 0; j < buildIndexElems.getLength(); j++) 
     114        for (int j = 0; j < buildIndexElems.getLength(); j++) 
    109115        { 
    110116            Element current = (Element) buildIndexElems.item(j); 
    111             for(int i = 0; i < chosenFacets.size(); i++) 
     117            for (int i = 0; i < chosenFacets.size(); i++) 
    112118            { 
    113119                if (current.getAttribute(GSXML.NAME_ATT).equals(chosenFacets.get(i))) 
     
    117123            } 
    118124        } 
    119          
     125 
    120126        return true; 
    121127    } 
     
    250256 
    251257        String core_name = site_name + "-" + coll_name + "-" + index; 
    252          
     258 
    253259        EmbeddedSolrServer solr_core = null; 
    254260 
     
    350356    } 
    351357 
     358    protected ArrayList<FacetWrapper> getFacets(Object query_result) 
     359    { 
     360        if (!(query_result instanceof SolrQueryResult)) 
     361        { 
     362            return null; 
     363        } 
     364 
     365        SolrQueryResult result = (SolrQueryResult) query_result; 
     366        List<FacetField> facets = result.getFacetResults(); 
     367 
     368        if (facets == null) 
     369        { 
     370            return null; 
     371        } 
     372 
     373        ArrayList<FacetWrapper> newFacetList = new ArrayList<FacetWrapper>(); 
     374 
     375        for (FacetField facet : facets) 
     376        { 
     377            newFacetList.add(new SolrFacetWrapper(facet)); 
     378        } 
     379 
     380        return newFacetList; 
     381    } 
    352382}