Changeset 25886 for gs3-extensions/solr


Ignore:
Timestamp:
2012-06-28T16:40:00+12:00 (12 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 edited

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}
Note: See TracChangeset for help on using the changeset viewer.