Changeset 29558 for main/trunk/greenstone3/src/java/org/greenstone/gsdl3/service/GS2LuceneSearch.java
- Timestamp:
- 2014-12-08T14:46:32+13:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/service/GS2LuceneSearch.java
r29544 r29558 41 41 public class GS2LuceneSearch extends SharedSoleneGS2FieldSearch 42 42 { 43 43 44 protected static final String SORT_ORDER_PARAM = "reverseSort"; 44 45 protected static final String SORT_ORDER_REVERSE = "1"; … … 51 52 public GS2LuceneSearch() 52 53 { 54 does_paging = true; 53 55 paramDefaults.put(SORT_ORDER_PARAM, SORT_ORDER_NORMAL); 54 56 this.lucene_src = new GS2LuceneQuery(); … … 98 100 99 101 } 102 100 103 /** methods to handle actually doing the query */ 101 104 … … 108 111 String physical_index_language_name = null; 109 112 String physical_sub_index_name = null; 110 int maxdocs = Integer.parseInt(paramDefaults.get(MAXDOCS_PARAM));111 113 int hits_per_page = Integer.parseInt(paramDefaults.get(HITS_PER_PAGE_PARAM)); 112 114 int start_page = Integer.parseInt(paramDefaults.get(START_PAGE_PARAM)); 113 115 String sort_field = getLuceneSort(default_sort); 114 116 String sort_order = paramDefaults.get(SORT_ORDER_PARAM); 117 115 118 // set up the query params 116 119 Set entries = params.entrySet(); … … 122 125 String value = (String) m.getValue(); 123 126 124 if (name.equals( MAXDOCS_PARAM) && !value.equals(""))125 { 126 maxdocs = Integer.parseInt(value);127 }128 else if (name.equals(HITS_PER_PAGE_PARAM))129 {130 hits_per_page = Integer.parseInt(value);127 if (name.equals(HITS_PER_PAGE_PARAM)) 128 { 129 if (value.equals("all")) { 130 hits_per_page = -1; 131 } else { 132 hits_per_page = Integer.parseInt(value); 133 } 131 134 } 132 135 else if (name.equals(START_PAGE_PARAM)) … … 177 180 // set up start and end results if necessary 178 181 int start_results = 1; 179 if (start_page != 1)182 if (start_page > 1 && hits_per_page > 0) 180 183 { 181 184 start_results = ((start_page - 1) * hits_per_page) + 1; 182 185 } 183 int end_results = hits_per_page * start_page; 186 int end_results = Integer.MAX_VALUE; 187 if (hits_per_page > 0) { 188 end_results = hits_per_page * start_page; 189 } 184 190 this.lucene_src.setStartResults(start_results); 185 191 this.lucene_src.setEndResults(end_results);
Note:
See TracChangeset
for help on using the changeset viewer.