diff --git a/source/net/yacy/cora/federate/solr/connector/MirrorSolrConnector.java b/source/net/yacy/cora/federate/solr/connector/MirrorSolrConnector.java index 52dce31df..e11c665bd 100644 --- a/source/net/yacy/cora/federate/solr/connector/MirrorSolrConnector.java +++ b/source/net/yacy/cora/federate/solr/connector/MirrorSolrConnector.java @@ -33,6 +33,7 @@ import net.yacy.cora.storage.ARC; import net.yacy.cora.storage.ConcurrentARC; import net.yacy.kelondro.util.MemoryControl; +import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.client.solrj.util.ClientUtils; import org.apache.solr.common.SolrDocument; @@ -132,6 +133,12 @@ public class MirrorSolrConnector extends AbstractSolrConnector implements SolrCo if (this.solr1 != null) this.solr1.setCommitWithinMs(c); } + @Override + public void commit() { + if (this.solr0 != null) this.solr0.commit(); + if (this.solr1 != null) this.solr1.commit(); + } + @Override public synchronized void close() { if (this.solr0 != null) this.solr0.close(); diff --git a/source/net/yacy/cora/federate/solr/connector/MultipleSolrConnector.java b/source/net/yacy/cora/federate/solr/connector/MultipleSolrConnector.java index 6d2790824..08854306e 100644 --- a/source/net/yacy/cora/federate/solr/connector/MultipleSolrConnector.java +++ b/source/net/yacy/cora/federate/solr/connector/MultipleSolrConnector.java @@ -96,6 +96,11 @@ public class MultipleSolrConnector extends AbstractSolrConnector implements Solr for (AddWorker w: this.worker) w.solr.setCommitWithinMs(c); } + @Override + public void commit() { + this.solr.commit(); + } + @Override public void close() { // send termination signal to worker diff --git a/source/net/yacy/cora/federate/solr/connector/RetrySolrConnector.java b/source/net/yacy/cora/federate/solr/connector/RetrySolrConnector.java index 2c4650171..d53fba5ab 100644 --- a/source/net/yacy/cora/federate/solr/connector/RetrySolrConnector.java +++ b/source/net/yacy/cora/federate/solr/connector/RetrySolrConnector.java @@ -59,6 +59,11 @@ public class RetrySolrConnector extends AbstractSolrConnector implements SolrCon this.solrConnector.setCommitWithinMs(c); } + @Override + public void commit() { + this.solrConnector.commit(); + } + @Override public synchronized void close() { this.solrConnector.close(); diff --git a/source/net/yacy/cora/federate/solr/connector/ShardSolrConnector.java b/source/net/yacy/cora/federate/solr/connector/ShardSolrConnector.java index 8f4f701e3..f67988521 100644 --- a/source/net/yacy/cora/federate/solr/connector/ShardSolrConnector.java +++ b/source/net/yacy/cora/federate/solr/connector/ShardSolrConnector.java @@ -72,6 +72,11 @@ public class ShardSolrConnector extends AbstractSolrConnector implements SolrCon for (final SolrConnector connector: this.connectors) connector.setCommitWithinMs(c); } + @Override + public void commit() { + for (final SolrConnector connector: this.connectors) connector.commit(); + } + @Override public synchronized void close() { for (final SolrConnector connector: this.connectors) connector.close(); diff --git a/source/net/yacy/cora/federate/solr/connector/SolrConnector.java b/source/net/yacy/cora/federate/solr/connector/SolrConnector.java index 9bb4d79c0..d02597183 100644 --- a/source/net/yacy/cora/federate/solr/connector/SolrConnector.java +++ b/source/net/yacy/cora/federate/solr/connector/SolrConnector.java @@ -48,6 +48,11 @@ public interface SolrConnector extends Iterable /* Iterable of document */ public void setCommitWithinMs(int c); + /** + * force a commit + */ + public void commit(); + /** * close the server connection */ diff --git a/source/net/yacy/cora/federate/solr/connector/SolrServerConnector.java b/source/net/yacy/cora/federate/solr/connector/SolrServerConnector.java index 003f50366..7485848a4 100644 --- a/source/net/yacy/cora/federate/solr/connector/SolrServerConnector.java +++ b/source/net/yacy/cora/federate/solr/connector/SolrServerConnector.java @@ -83,6 +83,15 @@ public abstract class SolrServerConnector extends AbstractSolrConnector implemen this.commitWithinMs = c; } + @Override + public synchronized void commit() { + try { + this.server.commit(); + } catch (SolrServerException e) { + } catch (IOException e) { + } + } + @Override public synchronized void close() { try { diff --git a/source/net/yacy/search/index/Fulltext.java b/source/net/yacy/search/index/Fulltext.java index 0dad88ffa..d76693789 100644 --- a/source/net/yacy/search/index/Fulltext.java +++ b/source/net/yacy/search/index/Fulltext.java @@ -186,6 +186,14 @@ public final class Fulltext implements Iterable { this.solr.close(); } + public int getCommitWithinMs() { + return this.solr.getCommitWithinMs(); + } + + public void commit() { + this.solr.commit(); + } + /** * generates an plasmaLURLEntry using the url hash * if the url cannot be found, this returns null