Revision 379eb203
Added by Andreas Müller over 3 years ago
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/search/LuceneMultiSearch.java | ||
---|---|---|
33 | 33 |
* |
34 | 34 |
* @author Andreas Kohlbecker |
35 | 35 |
* @since Dec 21, 2011 |
36 |
* |
|
37 | 36 |
*/ |
38 | 37 |
public class LuceneMultiSearch extends LuceneSearch { |
39 | 38 |
|
40 | 39 |
public static final Logger logger = Logger.getLogger(LuceneMultiSearch.class); |
41 | 40 |
|
42 |
private final Set<Class<? extends CdmBase>> directorySelectClasses = new HashSet<Class<? extends CdmBase>>(); |
|
43 |
|
|
41 |
private final Set<Class<? extends CdmBase>> directorySelectClasses = new HashSet<>(); |
|
44 | 42 |
|
45 | 43 |
/** |
46 | 44 |
* @param luceneSearch the searches to execute together as a union like search |
... | ... | |
52 | 50 |
groupByField = null; //reset |
53 | 51 |
Builder queryBuilder = new Builder(); |
54 | 52 |
|
55 |
Set<String> highlightFields = new HashSet<String>();
|
|
56 |
List<SortField> multiSearcherSortFields = new ArrayList<SortField>();
|
|
53 |
Set<String> highlightFields = new HashSet<>(); |
|
54 |
List<SortField> multiSearcherSortFields = new ArrayList<>(); |
|
57 | 55 |
|
58 | 56 |
for(LuceneSearch search : luceneSearch){ |
59 | 57 |
|
... | ... | |
99 | 97 |
this.query = queryBuilder.build(); |
100 | 98 |
} |
101 | 99 |
|
102 |
/** |
|
103 |
* @return |
|
104 |
*/ |
|
105 | 100 |
@Override |
106 | 101 |
public IndexSearcher getSearcher() { |
107 | 102 |
|
108 | 103 |
if(searcher == null){ |
109 |
List<IndexReader> readers = new ArrayList<IndexReader>();
|
|
104 |
List<IndexReader> readers = new ArrayList<>(); |
|
110 | 105 |
for(Class<? extends CdmBase> type : directorySelectClasses){ |
111 | 106 |
//OLD |
112 | 107 |
// DirectoryProvider[] directoryProviders = searchFactory.getDirectoryProviders(type); |
... | ... | |
156 | 151 |
return analyzer; |
157 | 152 |
} |
158 | 153 |
|
159 |
|
|
160 |
/** |
|
161 |
* @param analyzer |
|
162 |
* @param a |
|
163 |
* @return |
|
164 |
*/ |
|
165 | 154 |
private boolean isEqual(Analyzer analyzer, Analyzer a) { |
166 | 155 |
// FIXME PatternAnalyzers must be compared by Pattern also other analyzers must be compared by their properties |
167 | 156 |
return analyzer != null && !analyzer.getClass().equals(a.getClass()); |
168 | 157 |
} |
169 |
|
|
170 | 158 |
} |
Also available in: Unified diff
cleanup