CavalliumDBEngine/src/main/java/it/cavallium/dbengine/lucene/searcher/CountLuceneLocalSearcher.java

26 lines
846 B
Java
Raw Normal View History

2021-07-06 01:30:37 +02:00
package it.cavallium.dbengine.lucene.searcher;
import it.cavallium.dbengine.client.query.QueryParser;
import it.cavallium.dbengine.client.query.current.data.QueryParams;
2021-08-04 01:12:39 +02:00
import it.cavallium.dbengine.client.query.current.data.TotalHitsCount;
2021-07-06 01:30:37 +02:00
import org.apache.lucene.search.IndexSearcher;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import reactor.core.scheduler.Scheduler;
public class CountLuceneLocalSearcher implements LuceneLocalSearcher {
@Override
public Mono<LuceneSearchResult> collect(IndexSearcher indexSearcher,
2021-07-10 20:52:01 +02:00
Mono<Void> releaseIndexSearcher,
2021-07-06 01:30:37 +02:00
LocalQueryParams queryParams,
String keyFieldName) {
2021-07-06 01:30:37 +02:00
return Mono
.fromCallable(() -> new LuceneSearchResult(
2021-08-04 01:12:39 +02:00
TotalHitsCount.of(indexSearcher.count(queryParams.query()), true),
2021-07-10 20:52:01 +02:00
Flux.empty(),
releaseIndexSearcher)
);
2021-07-06 01:30:37 +02:00
}
}