Bugfixes
This commit is contained in:
parent
1b83c95856
commit
e0d929dbaa
@ -1,5 +1,7 @@
|
|||||||
package it.cavallium.dbengine.client;
|
package it.cavallium.dbengine.client;
|
||||||
|
|
||||||
|
import static it.cavallium.dbengine.utils.StreamUtils.toListClose;
|
||||||
|
|
||||||
import it.cavallium.dbengine.client.Hits.CloseableHits;
|
import it.cavallium.dbengine.client.Hits.CloseableHits;
|
||||||
import it.cavallium.dbengine.client.Hits.LuceneHits;
|
import it.cavallium.dbengine.client.Hits.LuceneHits;
|
||||||
import it.cavallium.dbengine.client.query.ClientQueryParams;
|
import it.cavallium.dbengine.client.query.ClientQueryParams;
|
||||||
@ -90,13 +92,12 @@ public class LuceneIndexImpl<T, U> implements LuceneIndex<T, U> {
|
|||||||
var mltDocumentFields
|
var mltDocumentFields
|
||||||
= indicizer.getMoreLikeThisDocumentFields(key, mltDocumentValue);
|
= indicizer.getMoreLikeThisDocumentFields(key, mltDocumentValue);
|
||||||
|
|
||||||
var results = luceneIndex
|
var results = toListClose(luceneIndex
|
||||||
.moreLikeThis(resolveSnapshot(queryParams.snapshot()),
|
.moreLikeThis(resolveSnapshot(queryParams.snapshot()),
|
||||||
queryParams.toQueryParams(),
|
queryParams.toQueryParams(),
|
||||||
indicizer.getKeyFieldName(),
|
indicizer.getKeyFieldName(),
|
||||||
mltDocumentFields
|
mltDocumentFields
|
||||||
)
|
));
|
||||||
.toList();
|
|
||||||
LLSearchResultShard mergedResults = mergeResults(queryParams, results);
|
LLSearchResultShard mergedResults = mergeResults(queryParams, results);
|
||||||
if (mergedResults != null) {
|
if (mergedResults != null) {
|
||||||
return mapResults(mergedResults);
|
return mapResults(mergedResults);
|
||||||
@ -107,12 +108,11 @@ public class LuceneIndexImpl<T, U> implements LuceneIndex<T, U> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Hits<HitKey<T>> search(ClientQueryParams queryParams) {
|
public Hits<HitKey<T>> search(ClientQueryParams queryParams) {
|
||||||
var results = luceneIndex
|
var results = toListClose(luceneIndex
|
||||||
.search(resolveSnapshot(queryParams.snapshot()),
|
.search(resolveSnapshot(queryParams.snapshot()),
|
||||||
queryParams.toQueryParams(),
|
queryParams.toQueryParams(),
|
||||||
indicizer.getKeyFieldName()
|
indicizer.getKeyFieldName()
|
||||||
)
|
));
|
||||||
.toList();
|
|
||||||
|
|
||||||
var mergedResults = mergeResults(queryParams, results);
|
var mergedResults = mergeResults(queryParams, results);
|
||||||
if (mergedResults != null) {
|
if (mergedResults != null) {
|
||||||
|
@ -10,6 +10,9 @@ import java.util.Comparator;
|
|||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Spliterator;
|
import java.util.Spliterator;
|
||||||
|
import java.util.concurrent.Callable;
|
||||||
|
import java.util.concurrent.ExecutionException;
|
||||||
|
import java.util.concurrent.ForkJoinPool;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
import java.util.stream.Collector;
|
import java.util.stream.Collector;
|
||||||
@ -96,6 +99,14 @@ public class StreamUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static <X> X scheduleOnPool(ForkJoinPool pool, Callable<X> supplier) {
|
||||||
|
try {
|
||||||
|
return pool.submit(supplier).get();
|
||||||
|
} catch (InterruptedException | ExecutionException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private record BatchSpliterator<E>(Spliterator<E> base, int batchSize) implements Spliterator<List<E>> {
|
private record BatchSpliterator<E>(Spliterator<E> base, int batchSize) implements Spliterator<List<E>> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user