Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions backend/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -430,5 +430,10 @@
<artifactId>solr-solrj</artifactId>
<version>10.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj-jetty</artifactId>
<version>10.0.0</version>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.impl.ConcurrentUpdateHttp2SolrClient;
import org.apache.solr.client.solrj.impl.Http2SolrClient;
import org.apache.solr.client.solrj.impl.HttpJdkSolrClient;
import org.apache.solr.client.solrj.jetty.ConcurrentUpdateJettySolrClient;
import org.apache.solr.client.solrj.jetty.HttpJettySolrClient;
import org.apache.solr.client.solrj.request.HealthCheckRequest;
import org.apache.solr.common.util.NamedList;

Expand Down Expand Up @@ -95,24 +95,24 @@ public SolrClient createSearchClient(@Nullable String collection) {
public SolrClient createIndexClient(@Nullable String collection) {
log.info("Creating solr index client. Base url: {}, Collection: {})", baseSolrUrl, collection);

Http2SolrClient.Builder http2Builder = new Http2SolrClient.Builder(baseSolrUrl)
HttpJettySolrClient.Builder jettyBuilder = new HttpJettySolrClient.Builder(baseSolrUrl)
.withConnectionTimeout(connectionTimeout.toSeconds(), TimeUnit.SECONDS)
.withRequestTimeout(requestTimeout.toSeconds(), TimeUnit.SECONDS);

if (username != null) {
http2Builder.withBasicAuthCredentials(username, password);
jettyBuilder.withBasicAuthCredentials(username, password);
}

if (useHttp1_1 != null) {
http2Builder.useHttp1_1(useHttp1_1);
jettyBuilder.useHttp1_1(useHttp1_1);
}

Http2SolrClient http2Client = http2Builder.build();
HttpJettySolrClient jettyClient = jettyBuilder.build();

ConcurrentUpdateHttp2SolrClient.Builder concurrentClientBuilder = new ConcurrentUpdateHttp2SolrClient.Builder(baseSolrUrl, http2Client)
.withDefaultCollection(collection)
.withQueueSize(indexerClientQueueSize)
.withThreadCount(indexerClientThreads);
ConcurrentUpdateJettySolrClient.Builder concurrentClientBuilder = new ConcurrentUpdateJettySolrClient.Builder(baseSolrUrl, jettyClient);
concurrentClientBuilder.withDefaultCollection(collection);
concurrentClientBuilder.withQueueSize(indexerClientQueueSize);
concurrentClientBuilder.withThreadCount(indexerClientThreads);


return concurrentClientBuilder.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
import com.bakdata.conquery.util.search.solr.entities.SolrFrontendValue;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.request.SolrQuery;
import org.apache.solr.client.solrj.response.QueryResponse;


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,14 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.text.StringSubstitutor;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.StreamingResponseCallback;
import org.apache.solr.client.solrj.impl.StreamingBinaryResponseParser;
import org.apache.solr.client.solrj.beans.DocumentObjectBinder;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.request.SolrQuery;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.response.StreamingJavaBinResponseParser;
import org.apache.solr.client.solrj.response.StreamingResponseCallback;
import org.apache.solr.client.solrj.util.ClientUtils;
import org.apache.solr.common.SolrDocument;
import org.jetbrains.annotations.NotNull;
Expand Down Expand Up @@ -117,7 +118,7 @@ public AutoCompleteResult topItems(String text, Integer start, @Nullable Integer
final StreamingResponseCallback callback = new StreamingResponseCallback() {
@Override
public void streamSolrDocument(SolrDocument doc) {
SolrFrontendValue bean = solrClient.getBinder().getBean(SolrFrontendValue.class, doc);
SolrFrontendValue bean = DocumentObjectBinder.INSTANCE.getBean(SolrFrontendValue.class, doc);
beans.add(bean.toFrontendValue());
}

Expand All @@ -128,7 +129,7 @@ public void streamDocListInfo(long numFoundCallBack, long start, Float maxScore)
};

final QueryRequest request = new QueryRequest(query, SolrRequest.METHOD.POST);
request.setResponseParser(new StreamingBinaryResponseParser(callback));
request.setResponseParser(new StreamingJavaBinResponseParser(callback));
final QueryResponse response = request.process(solrClient);

log.debug("Query [{}] Found: {} | Collected: {} | QTime: {} | ElapsedTime: {}", queryHash, numFound.get(), beans.size(), response.getQTime(), response.getElapsedTime());
Expand Down Expand Up @@ -229,7 +230,7 @@ public void streamSolrDocument(SolrDocument doc) {
return;
}

SolrFrontendValue bean = solrClient.getBinder().getBean(SolrFrontendValue.class, doc);
SolrFrontendValue bean = DocumentObjectBinder.INSTANCE.getBean(SolrFrontendValue.class, doc);


// Remove from unresolved and add to resolved values if either value or label matches
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@
import io.dropwizard.core.setup.Environment;
import lombok.SneakyThrows;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.request.SolrQuery;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.jetbrains.annotations.NotNull;
import org.junit.jupiter.api.BeforeAll;
Expand Down