From 768b1306b8752995fc0c7fc59cb93c4fa01dd353 Mon Sep 17 00:00:00 2001 From: orbiter Date: Thu, 23 Jan 2014 22:48:31 +0100 Subject: [PATCH] Added a write-enabled checkbox for remote solr servers. It is now possible to assign every peer other YaCy peers as remote solr server which are only used for read operations during search. This also affects crawling: it will exclude urls from crawls which exist on remote solr/remote YaCy peers. --- htroot/IndexFederated_p.html | 3 +++ htroot/IndexFederated_p.java | 7 +++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/htroot/IndexFederated_p.html b/htroot/IndexFederated_p.html index 1c21b55b0..2f4c2682c 100644 --- a/htroot/IndexFederated_p.html +++ b/htroot/IndexFederated_p.html @@ -68,6 +68,9 @@
Sharding Method
+
+
write-enabled (if unchecked, the remote server(s) will only be used as search peers)
+
diff --git a/htroot/IndexFederated_p.java b/htroot/IndexFederated_p.java index d66077310..51b3d6d10 100644 --- a/htroot/IndexFederated_p.java +++ b/htroot/IndexFederated_p.java @@ -125,14 +125,16 @@ public class IndexFederated_p { ConcurrentLog.logException(e); } } + + final boolean writeEnabled = post.getBoolean("solr.indexing.solrremote.writeenabled"); + sb.setConfig(SwitchboardConstants.FEDERATED_SERVICE_SOLR_INDEXING_WRITEENABLED, writeEnabled); if (solrRemoteIsOnAfterwards) try { if (solrRemoteWasOn) sb.index.fulltext().disconnectRemoteSolr(); // switch on final boolean usesolr = sb.getConfigBool(SwitchboardConstants.FEDERATED_SERVICE_SOLR_INDEXING_ENABLED, false) & solrurls.length() > 0; final int solrtimeout = sb.getConfigInt(SwitchboardConstants.FEDERATED_SERVICE_SOLR_INDEXING_TIMEOUT, 10000); - final boolean writeEnabled = sb.getConfigBool(SwitchboardConstants.FEDERATED_SERVICE_SOLR_INDEXING_WRITEENABLED, true); - + try { if (usesolr) { ArrayList instances = RemoteInstance.getShardInstances(solrurls, null, null, solrtimeout); @@ -181,6 +183,7 @@ public class IndexFederated_p { prop.put("solr.indexing.solrremote.checked", env.getConfigBool(SwitchboardConstants.FEDERATED_SERVICE_SOLR_INDEXING_ENABLED, false) ? 1 : 0); prop.put("solr.indexing.url", env.getConfig(SwitchboardConstants.FEDERATED_SERVICE_SOLR_INDEXING_URL, "http://127.0.0.1:8983/solr").replace(",", "\n")); prop.put("solr.indexing.sharding", env.getConfig(SwitchboardConstants.FEDERATED_SERVICE_SOLR_INDEXING_SHARDING, "modulo-host-md5")); + prop.put("solr.indexing.solrremote.writeenabled.checked", env.getConfigBool(SwitchboardConstants.FEDERATED_SERVICE_SOLR_INDEXING_WRITEENABLED, true)); prop.put("solr.indexing.lazy.checked", env.getConfigBool(SwitchboardConstants.FEDERATED_SERVICE_SOLR_INDEXING_LAZY, true) ? 1 : 0); // return rewrite properties