added an option to force a commit to solr.

may be used by a search front-end in case that the commitWithinMs time
is too short to get recently indexed documents.
pull/1/head
Michael Peter Christen 13 years ago
parent 2d972f289a
commit 3b48c78190

@ -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();

@ -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

@ -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();

@ -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();

@ -48,6 +48,11 @@ public interface SolrConnector extends Iterable<String> /* Iterable of document
*/
public void setCommitWithinMs(int c);
/**
* force a commit
*/
public void commit();
/**
* close the server connection
*/

@ -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 {

@ -186,6 +186,14 @@ public final class Fulltext implements Iterable<byte[]> {
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

Loading…
Cancel
Save