1010import org .slf4j .Logger ;
1111import org .slf4j .LoggerFactory ;
1212import org .springframework .beans .factory .annotation .Autowired ;
13+ import org .springframework .beans .factory .annotation .Value ;
1314import org .springframework .data .domain .Pageable ;
1415import org .springframework .data .solr .core .SolrTemplate ;
1516import org .springframework .data .solr .core .query .FacetAndHighlightQuery ;
3738@ Service
3839public class SearchServiceImpl implements SearchService {
3940 private static final Logger log = LoggerFactory .getLogger (SearchServiceImpl .class );
41+ @ Value ("${klass.env.search.solr.core}" )
42+ protected String solrCore ;
4043
4144 private final ClassificationSeriesRepository classificationRepository ;
4245
@@ -51,7 +54,7 @@ public SearchServiceImpl(ClassificationSeriesRepository classificationRepository
5154 public FacetAndHighlightPage <SolrSearchResult > search (FacetAndHighlightQuery query ) {
5255
5356 Date start = TimeUtil .now ();
54- FacetAndHighlightPage <SolrSearchResult > searchResults = solrTemplate .queryForFacetAndHighlightPage (query ,
57+ FacetAndHighlightPage <SolrSearchResult > searchResults = solrTemplate .queryForFacetAndHighlightPage (solrCore , query ,
5558 SolrSearchResult .class );
5659 log .info ("Search for: '" + query + "' resulted in " + searchResults .getTotalElements () + " hits. Took (ms): "
5760 + TimeUtil .millisecondsSince (start ));
@@ -99,7 +102,7 @@ public FacetAndHighlightPage<SolrSearchResult> internalSearch(String query, Page
99102 }
100103
101104 public void clearIndex () {
102- solrTemplate .delete (new SimpleQuery ("*:*" ));
105+ solrTemplate .delete (solrCore , new SimpleQuery ("*:*" ));
103106 }
104107
105108 @ Async
@@ -146,7 +149,7 @@ public void indexSync(ClassificationSeries classification) {
146149 }
147150
148151 }
149- solrTemplate .commit ();
152+ solrTemplate .commit (solrCore );
150153 log .info ("Indexing: " + classification .getNameInPrimaryLanguage () + ". Took (ms): " + TimeUtil
151154 .millisecondsSince (start ));
152155 }
@@ -211,9 +214,9 @@ private void indexVariants(List<ClassificationVariant> variants, Language langua
211214
212215 private void updateSolr (SoftDeletable entity , SolrInputDocument doc ) {
213216 if (!entity .isDeleted ()) {
214- solrTemplate .saveDocument (doc );
217+ solrTemplate .saveDocument (solrCore , doc );
215218 } else {
216- solrTemplate .deleteById ((String ) doc .getField ("uuid" ).getValue ());
219+ solrTemplate .deleteById (solrCore , (String ) doc .getField ("uuid" ).getValue ());
217220 }
218221 }
219222
0 commit comments