_lang = LuceneSearcher.determineLanguage(context, filterExpr, sm.getSettingInfo());
indexAndTaxonomy = sm.getIndexReader(_lang.presentationLanguage, _searchToken);
Log.debug(Geonet.CSW_SEARCH, "Found searcher with " + indexAndTaxonomy.version + " comparing with " + _searchToken);
if (_searchToken != -1L && indexAndTaxonomy.version != _searchToken) {
throw new SearchExpiredEx("Search has expired/timed out - start a new search");
}
_searchToken = indexAndTaxonomy.version;
GeonetworkMultiReader reader = indexAndTaxonomy.indexReader;
return performSearch(context, luceneExpr, filterExpr, filterVersion, sort, resultType, startPosition, maxRecords,
maxHitsInSummary, cswServiceSpecificContraint, reader, indexAndTaxonomy.taxonomyReader);