Ignore:
Timestamp:
2012-07-11T12:04:39+12:00 (12 years ago)
Author:
sjm84
Message:

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

File:
1 edited

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