Changeset 25931 for gs3-extensions

Show
Ignore:
Timestamp:
11.07.2012 12:04:39 (7 years ago)
Author:
sjm84
Message:

Some tidying and making Solr return some basic query information (the total docs found)

Files:
1 modified

Legend:

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

    r25866 r25931  
    145145                    int colonIndex = currentQueryElement.indexOf(":"); 
    146146                    String indexShortName = currentQueryElement.substring(0, colonIndex); 
    147                      
    148                     if(grouping.get(indexShortName) == null) 
     147 
     148                    if (grouping.get(indexShortName) == null) 
    149149                    { 
    150150                        grouping.put(indexShortName, new ArrayList<String>()); 
     
    161161                StringBuilder currentFacetString = new StringBuilder("("); 
    162162                int groupCounter = 0; 
    163                 for(String queryElem : grouping.get(key)) 
     163                for (String queryElem : grouping.get(key)) 
    164164                { 
    165165                    currentFacetString.append(queryElem); 
    166                      
     166 
    167167                    groupCounter++; 
    168                     if(groupCounter < grouping.get(key).size()) 
     168                    if (groupCounter < grouping.get(key).size()) 
    169169                    { 
    170170                        currentFacetString.append(" OR "); 
     
    172172                } 
    173173                currentFacetString.append(")"); 
    174                  
     174 
    175175                facetQueryString.append(currentFacetString); 
    176                  
     176 
    177177                keysetCounter++; 
    178                 if(keysetCounter < grouping.keySet().size()) 
     178                if (keysetCounter < grouping.keySet().size()) 
    179179                { 
    180180                    facetQueryString.append(" AND "); 
    181181                } 
    182182            } 
    183              
    184             if(facetQueryString.length() > 0) 
     183 
     184            if (facetQueryString.length() > 0) 
    185185            { 
    186186                query_string += " AND " + facetQueryString; 
     
    193193        solrParams.set("rows", (end_results - start_results) + 1); 
    194194        solrParams.set("fl", "docOID score"); 
    195          
     195        solrParams.set("terms", true); 
     196        solrParams.set("terms.fl", "ZZ"); 
     197 
    196198        if (_facets.size() > 0) 
    197199        { 
     
    224226                solr_query_result.setStartResults(start_results); 
    225227                solr_query_result.setEndResults(start_results + hits.size()); 
     228 
     229                int sepIndex = query_string.indexOf(":"); 
     230                String field = query_string.substring(0, sepIndex); 
     231                String query = query_string.substring(sepIndex + 2, query_string.length() - 1); 
     232 
     233                solr_query_result.addTerm(query, field, (int) hits.getNumFound(), -1); 
    226234 
    227235                // Output the matching documents