diff --git a/htroot/CrawlResults.java b/htroot/CrawlResults.java
index 8b2db29d0..cacf135cb 100644
--- a/htroot/CrawlResults.java
+++ b/htroot/CrawlResults.java
@@ -35,7 +35,7 @@ import java.util.Map;
import net.yacy.cora.document.ASCII;
import net.yacy.cora.document.UTF8;
import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
+import net.yacy.cora.services.federated.solr.YaCySchema;
import net.yacy.crawler.data.ResultURLs;
import net.yacy.crawler.data.ResultURLs.EventOrigin;
import net.yacy.crawler.data.ResultURLs.InitExecEntry;
diff --git a/htroot/CrawlStartExpert_p.java b/htroot/CrawlStartExpert_p.java
index 49e6f2543..3912b9a22 100644
--- a/htroot/CrawlStartExpert_p.java
+++ b/htroot/CrawlStartExpert_p.java
@@ -25,7 +25,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
+import net.yacy.cora.services.federated.solr.YaCySchema;
import net.yacy.crawler.data.CrawlProfile;
import net.yacy.search.Switchboard;
import net.yacy.search.SwitchboardConstants;
diff --git a/htroot/IndexFederated_p.java b/htroot/IndexFederated_p.java
index e5b1b157d..2d1497b7b 100644
--- a/htroot/IndexFederated_p.java
+++ b/htroot/IndexFederated_p.java
@@ -30,12 +30,12 @@ import java.util.Iterator;
import net.yacy.cora.document.UTF8;
import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.services.federated.solr.ShardSelection;
-import net.yacy.cora.services.federated.solr.ShardSolrConnector;
-import net.yacy.cora.services.federated.solr.RemoteSolrConnector;
-import net.yacy.cora.services.federated.solr.SolrConnector;
+import net.yacy.cora.services.federated.solr.YaCySchema;
+import net.yacy.cora.services.federated.solr.connector.RemoteSolrConnector;
+import net.yacy.cora.services.federated.solr.connector.ShardSelection;
+import net.yacy.cora.services.federated.solr.connector.ShardSolrConnector;
+import net.yacy.cora.services.federated.solr.connector.SolrConnector;
import net.yacy.cora.services.federated.yacy.ConfigurationSet;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
import net.yacy.kelondro.logging.Log;
import net.yacy.kelondro.util.OS;
import net.yacy.search.Switchboard;
diff --git a/htroot/PerformanceMemory_p.java b/htroot/PerformanceMemory_p.java
index 7f4040705..b2becdb82 100644
--- a/htroot/PerformanceMemory_p.java
+++ b/htroot/PerformanceMemory_p.java
@@ -32,7 +32,7 @@ import java.util.Map;
import net.yacy.cora.protocol.Domains;
import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.services.federated.solr.MirrorSolrConnector;
+import net.yacy.cora.services.federated.solr.connector.MirrorSolrConnector;
import net.yacy.kelondro.index.Cache;
import net.yacy.kelondro.index.RAMIndex;
import net.yacy.kelondro.table.Table;
diff --git a/htroot/api/schema_p.java b/htroot/api/schema_p.java
index 47085816d..2f4ad9cc7 100644
--- a/htroot/api/schema_p.java
+++ b/htroot/api/schema_p.java
@@ -23,7 +23,7 @@
*/
import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
+import net.yacy.cora.services.federated.solr.YaCySchema;
import net.yacy.search.Switchboard;
import net.yacy.search.index.SolrConfiguration;
import net.yacy.server.serverObjects;
diff --git a/htroot/gsa/searchresult.java b/htroot/gsa/searchresult.java
index 687b6f5a8..2e69fce10 100644
--- a/htroot/gsa/searchresult.java
+++ b/htroot/gsa/searchresult.java
@@ -29,9 +29,9 @@ import java.util.regex.Pattern;
import net.yacy.cora.document.UTF8;
import net.yacy.cora.protocol.HeaderFramework;
import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.services.federated.solr.EmbeddedSolrConnector;
-import net.yacy.cora.services.federated.solr.GSAResponseWriter;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
+import net.yacy.cora.services.federated.solr.YaCySchema;
+import net.yacy.cora.services.federated.solr.connector.EmbeddedSolrConnector;
+import net.yacy.cora.services.federated.solr.responsewriter.GSAResponseWriter;
import net.yacy.kelondro.logging.Log;
import net.yacy.search.Switchboard;
import net.yacy.search.query.AccessTracker;
diff --git a/htroot/solr/select.java b/htroot/solr/select.java
index d30cffbef..2fc48b07c 100644
--- a/htroot/solr/select.java
+++ b/htroot/solr/select.java
@@ -30,12 +30,12 @@ import javax.servlet.ServletException;
import net.yacy.cora.document.UTF8;
import net.yacy.cora.protocol.HeaderFramework;
import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.services.federated.solr.EmbeddedSolrConnector;
-import net.yacy.cora.services.federated.solr.EnhancedXMLResponseWriter;
-import net.yacy.cora.services.federated.solr.JsonResponseWriter;
-import net.yacy.cora.services.federated.solr.OpensearchResponseWriter;
import net.yacy.cora.services.federated.solr.SolrServlet;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
+import net.yacy.cora.services.federated.solr.YaCySchema;
+import net.yacy.cora.services.federated.solr.connector.EmbeddedSolrConnector;
+import net.yacy.cora.services.federated.solr.responsewriter.EnhancedXMLResponseWriter;
+import net.yacy.cora.services.federated.solr.responsewriter.JsonResponseWriter;
+import net.yacy.cora.services.federated.solr.responsewriter.OpensearchResponseWriter;
import net.yacy.kelondro.logging.Log;
import net.yacy.search.Switchboard;
import net.yacy.search.SwitchboardConstants;
diff --git a/source/net/yacy/cora/services/federated/solr/Schema.java b/source/net/yacy/cora/services/federated/solr/Schema.java
index f67f541e0..f9c7ebac2 100644
--- a/source/net/yacy/cora/services/federated/solr/Schema.java
+++ b/source/net/yacy/cora/services/federated/solr/Schema.java
@@ -3,10 +3,6 @@
* Copyright 2011 by Michael Peter Christen
* First released 14.04.2011 at http://yacy.net
*
- * $LastChangedDate: 2011-04-14 22:05:04 +0200 (Do, 14 Apr 2011) $
- * $LastChangedRevision: 7654 $
- * $LastChangedBy: orbiter $
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
diff --git a/source/net/yacy/cora/services/federated/solr/SolrServlet.java b/source/net/yacy/cora/services/federated/solr/SolrServlet.java
index ba00c020d..ac3e11654 100644
--- a/source/net/yacy/cora/services/federated/solr/SolrServlet.java
+++ b/source/net/yacy/cora/services/federated/solr/SolrServlet.java
@@ -1,3 +1,23 @@
+/**
+ * SolrServlet
+ * Copyright 2012 by Michael Peter Christen
+ * First released 23.08.2012 at http://yacy.net
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program in the file lgpl21.txt
+ * If not, see .
+ */
+
package net.yacy.cora.services.federated.solr;
import java.io.IOException;
@@ -21,6 +41,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.yacy.cora.document.UTF8;
+import net.yacy.cora.services.federated.solr.connector.EmbeddedSolrConnector;
import org.apache.lucene.document.Document;
import org.apache.solr.common.SolrException;
diff --git a/source/net/yacy/cora/services/federated/solr/SolrType.java b/source/net/yacy/cora/services/federated/solr/SolrType.java
index 8b8f64b0f..c37081a48 100644
--- a/source/net/yacy/cora/services/federated/solr/SolrType.java
+++ b/source/net/yacy/cora/services/federated/solr/SolrType.java
@@ -3,10 +3,6 @@
* Copyright 2011 by Michael Peter Christen
* First released 14.04.2011 at http://yacy.net
*
- * $LastChangedDate: 2011-04-14 22:05:04 +0200 (Do, 14 Apr 2011) $
- * $LastChangedRevision: 7654 $
- * $LastChangedBy: orbiter $
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
diff --git a/source/net/yacy/cora/services/federated/yacy/YaCySchema.java b/source/net/yacy/cora/services/federated/solr/YaCySchema.java
similarity index 99%
rename from source/net/yacy/cora/services/federated/yacy/YaCySchema.java
rename to source/net/yacy/cora/services/federated/solr/YaCySchema.java
index ba159d120..165bef81c 100644
--- a/source/net/yacy/cora/services/federated/yacy/YaCySchema.java
+++ b/source/net/yacy/cora/services/federated/solr/YaCySchema.java
@@ -18,13 +18,11 @@
* If not, see .
*/
-package net.yacy.cora.services.federated.yacy;
+package net.yacy.cora.services.federated.solr;
import java.util.Date;
import java.util.List;
-import net.yacy.cora.services.federated.solr.Schema;
-import net.yacy.cora.services.federated.solr.SolrType;
import org.apache.solr.common.SolrInputDocument;
diff --git a/source/net/yacy/cora/services/federated/solr/AbstractSolrConnector.java b/source/net/yacy/cora/services/federated/solr/connector/AbstractSolrConnector.java
similarity index 97%
rename from source/net/yacy/cora/services/federated/solr/AbstractSolrConnector.java
rename to source/net/yacy/cora/services/federated/solr/connector/AbstractSolrConnector.java
index b4face745..5fdbb65d3 100644
--- a/source/net/yacy/cora/services/federated/solr/AbstractSolrConnector.java
+++ b/source/net/yacy/cora/services/federated/solr/connector/AbstractSolrConnector.java
@@ -18,7 +18,7 @@
* If not, see .
*/
-package net.yacy.cora.services.federated.solr;
+package net.yacy.cora.services.federated.solr.connector;
import java.io.IOException;
import java.util.Iterator;
@@ -26,7 +26,7 @@ import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
+import net.yacy.cora.services.federated.solr.YaCySchema;
import net.yacy.cora.util.LookAheadIterator;
import org.apache.log4j.Logger;
diff --git a/source/net/yacy/cora/services/federated/solr/EmbeddedSolrConnector.java b/source/net/yacy/cora/services/federated/solr/connector/EmbeddedSolrConnector.java
similarity index 98%
rename from source/net/yacy/cora/services/federated/solr/EmbeddedSolrConnector.java
rename to source/net/yacy/cora/services/federated/solr/connector/EmbeddedSolrConnector.java
index fae35aaa6..6b3de000f 100644
--- a/source/net/yacy/cora/services/federated/solr/EmbeddedSolrConnector.java
+++ b/source/net/yacy/cora/services/federated/solr/connector/EmbeddedSolrConnector.java
@@ -19,13 +19,15 @@
*/
-package net.yacy.cora.services.federated.solr;
+package net.yacy.cora.services.federated.solr.connector;
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.ParserConfigurationException;
+import net.yacy.cora.services.federated.solr.SolrServlet;
+
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
diff --git a/source/net/yacy/cora/services/federated/solr/MirrorSolrConnector.java b/source/net/yacy/cora/services/federated/solr/connector/MirrorSolrConnector.java
similarity index 99%
rename from source/net/yacy/cora/services/federated/solr/MirrorSolrConnector.java
rename to source/net/yacy/cora/services/federated/solr/connector/MirrorSolrConnector.java
index 55236b0a3..aa6618806 100644
--- a/source/net/yacy/cora/services/federated/solr/MirrorSolrConnector.java
+++ b/source/net/yacy/cora/services/federated/solr/connector/MirrorSolrConnector.java
@@ -18,14 +18,14 @@
* If not, see .
*/
-package net.yacy.cora.services.federated.solr;
+package net.yacy.cora.services.federated.solr.connector;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.atomic.AtomicLong;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
+import net.yacy.cora.services.federated.solr.YaCySchema;
import net.yacy.cora.storage.ARC;
import net.yacy.cora.storage.ConcurrentARC;
import net.yacy.kelondro.util.MemoryControl;
diff --git a/source/net/yacy/cora/services/federated/solr/MultipleSolrConnector.java b/source/net/yacy/cora/services/federated/solr/connector/MultipleSolrConnector.java
similarity index 98%
rename from source/net/yacy/cora/services/federated/solr/MultipleSolrConnector.java
rename to source/net/yacy/cora/services/federated/solr/connector/MultipleSolrConnector.java
index de2cd5c1d..d5714464a 100644
--- a/source/net/yacy/cora/services/federated/solr/MultipleSolrConnector.java
+++ b/source/net/yacy/cora/services/federated/solr/connector/MultipleSolrConnector.java
@@ -18,7 +18,7 @@
* If not, see .
*/
-package net.yacy.cora.services.federated.solr;
+package net.yacy.cora.services.federated.solr.connector;
import java.io.IOException;
import java.util.Collection;
diff --git a/source/net/yacy/cora/services/federated/solr/RemoteSolrConnector.java b/source/net/yacy/cora/services/federated/solr/connector/RemoteSolrConnector.java
similarity index 99%
rename from source/net/yacy/cora/services/federated/solr/RemoteSolrConnector.java
rename to source/net/yacy/cora/services/federated/solr/connector/RemoteSolrConnector.java
index 8d99225f9..560d9e3d9 100644
--- a/source/net/yacy/cora/services/federated/solr/RemoteSolrConnector.java
+++ b/source/net/yacy/cora/services/federated/solr/connector/RemoteSolrConnector.java
@@ -22,7 +22,7 @@
* If not, see .
*/
-package net.yacy.cora.services.federated.solr;
+package net.yacy.cora.services.federated.solr.connector;
import java.io.File;
import java.io.IOException;
diff --git a/source/net/yacy/cora/services/federated/solr/RetrySolrConnector.java b/source/net/yacy/cora/services/federated/solr/connector/RetrySolrConnector.java
similarity index 99%
rename from source/net/yacy/cora/services/federated/solr/RetrySolrConnector.java
rename to source/net/yacy/cora/services/federated/solr/connector/RetrySolrConnector.java
index 9e2e1c931..561e96b6f 100644
--- a/source/net/yacy/cora/services/federated/solr/RetrySolrConnector.java
+++ b/source/net/yacy/cora/services/federated/solr/connector/RetrySolrConnector.java
@@ -18,7 +18,7 @@
* If not, see .
*/
-package net.yacy.cora.services.federated.solr;
+package net.yacy.cora.services.federated.solr.connector;
import java.io.IOException;
import java.util.Collection;
diff --git a/source/net/yacy/cora/services/federated/solr/ShardSelection.java b/source/net/yacy/cora/services/federated/solr/connector/ShardSelection.java
similarity index 93%
rename from source/net/yacy/cora/services/federated/solr/ShardSelection.java
rename to source/net/yacy/cora/services/federated/solr/connector/ShardSelection.java
index 10654582c..d2e652a2b 100644
--- a/source/net/yacy/cora/services/federated/solr/ShardSelection.java
+++ b/source/net/yacy/cora/services/federated/solr/connector/ShardSelection.java
@@ -3,10 +3,6 @@
* Copyright 2011 by Michael Peter Christen
* First released 25.05.2011 at http://yacy.net
*
- * $LastChangedDate: 2011-04-14 22:05:04 +0200 (Do, 14 Apr 2011) $
- * $LastChangedRevision: 7654 $
- * $LastChangedBy: orbiter $
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
@@ -22,7 +18,7 @@
* If not, see .
*/
-package net.yacy.cora.services.federated.solr;
+package net.yacy.cora.services.federated.solr.connector;
import java.io.IOException;
import java.net.MalformedURLException;
@@ -32,7 +28,7 @@ import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.concurrent.atomic.AtomicLong;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
+import net.yacy.cora.services.federated.solr.YaCySchema;
import org.apache.solr.common.SolrInputDocument;
diff --git a/source/net/yacy/cora/services/federated/solr/ShardSolrConnector.java b/source/net/yacy/cora/services/federated/solr/connector/ShardSolrConnector.java
similarity index 98%
rename from source/net/yacy/cora/services/federated/solr/ShardSolrConnector.java
rename to source/net/yacy/cora/services/federated/solr/connector/ShardSolrConnector.java
index 8b7d5c8f0..7903ce55c 100644
--- a/source/net/yacy/cora/services/federated/solr/ShardSolrConnector.java
+++ b/source/net/yacy/cora/services/federated/solr/connector/ShardSolrConnector.java
@@ -22,7 +22,7 @@
* If not, see .
*/
-package net.yacy.cora.services.federated.solr;
+package net.yacy.cora.services.federated.solr.connector;
import java.io.IOException;
import java.net.InetAddress;
@@ -32,6 +32,7 @@ import java.util.List;
import java.util.concurrent.atomic.AtomicLong;
import net.yacy.cora.protocol.Domains;
+import net.yacy.cora.services.federated.solr.connector.ShardSelection.Method;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
diff --git a/source/net/yacy/cora/services/federated/solr/SolrConnector.java b/source/net/yacy/cora/services/federated/solr/connector/SolrConnector.java
similarity index 98%
rename from source/net/yacy/cora/services/federated/solr/SolrConnector.java
rename to source/net/yacy/cora/services/federated/solr/connector/SolrConnector.java
index be76c06f5..9443555dc 100644
--- a/source/net/yacy/cora/services/federated/solr/SolrConnector.java
+++ b/source/net/yacy/cora/services/federated/solr/connector/SolrConnector.java
@@ -22,7 +22,7 @@
* If not, see .
*/
-package net.yacy.cora.services.federated.solr;
+package net.yacy.cora.services.federated.solr.connector;
import java.io.IOException;
import java.util.Collection;
diff --git a/source/net/yacy/cora/services/federated/solr/SolrServerConnector.java b/source/net/yacy/cora/services/federated/solr/connector/SolrServerConnector.java
similarity index 99%
rename from source/net/yacy/cora/services/federated/solr/SolrServerConnector.java
rename to source/net/yacy/cora/services/federated/solr/connector/SolrServerConnector.java
index 856a57346..5061c5b2e 100644
--- a/source/net/yacy/cora/services/federated/solr/SolrServerConnector.java
+++ b/source/net/yacy/cora/services/federated/solr/connector/SolrServerConnector.java
@@ -18,7 +18,7 @@
* If not, see .
*/
-package net.yacy.cora.services.federated.solr;
+package net.yacy.cora.services.federated.solr.connector;
import java.io.File;
import java.io.IOException;
diff --git a/source/net/yacy/cora/services/federated/solr/EnhancedXMLResponseWriter.java b/source/net/yacy/cora/services/federated/solr/responsewriter/EnhancedXMLResponseWriter.java
similarity index 98%
rename from source/net/yacy/cora/services/federated/solr/EnhancedXMLResponseWriter.java
rename to source/net/yacy/cora/services/federated/solr/responsewriter/EnhancedXMLResponseWriter.java
index f69091f6c..dfd5eec5b 100644
--- a/source/net/yacy/cora/services/federated/solr/EnhancedXMLResponseWriter.java
+++ b/source/net/yacy/cora/services/federated/solr/responsewriter/EnhancedXMLResponseWriter.java
@@ -18,7 +18,7 @@
* If not, see .
*/
-package net.yacy.cora.services.federated.solr;
+package net.yacy.cora.services.federated.solr.responsewriter;
import java.io.IOException;
import java.io.Writer;
@@ -26,6 +26,8 @@ import java.util.Date;
import java.util.List;
import java.util.Set;
+import net.yacy.cora.services.federated.solr.SolrType;
+
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Fieldable;
import org.apache.solr.common.util.NamedList;
diff --git a/source/net/yacy/cora/services/federated/solr/GSAResponseWriter.java b/source/net/yacy/cora/services/federated/solr/responsewriter/GSAResponseWriter.java
similarity index 99%
rename from source/net/yacy/cora/services/federated/solr/GSAResponseWriter.java
rename to source/net/yacy/cora/services/federated/solr/responsewriter/GSAResponseWriter.java
index 28e97d0cb..107c87e00 100644
--- a/source/net/yacy/cora/services/federated/solr/GSAResponseWriter.java
+++ b/source/net/yacy/cora/services/federated/solr/responsewriter/GSAResponseWriter.java
@@ -18,7 +18,7 @@
* If not, see .
*/
-package net.yacy.cora.services.federated.solr;
+package net.yacy.cora.services.federated.solr.responsewriter;
import java.io.IOException;
import java.io.Writer;
@@ -32,7 +32,7 @@ import java.util.Set;
import java.util.regex.Pattern;
import net.yacy.cora.protocol.HeaderFramework;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
+import net.yacy.cora.services.federated.solr.YaCySchema;
import net.yacy.peers.operation.yacyVersion;
import net.yacy.search.Switchboard;
diff --git a/source/net/yacy/cora/services/federated/solr/JsonResponseWriter.java b/source/net/yacy/cora/services/federated/solr/responsewriter/JsonResponseWriter.java
similarity index 99%
rename from source/net/yacy/cora/services/federated/solr/JsonResponseWriter.java
rename to source/net/yacy/cora/services/federated/solr/responsewriter/JsonResponseWriter.java
index 191e4b40b..d2f5d6d60 100644
--- a/source/net/yacy/cora/services/federated/solr/JsonResponseWriter.java
+++ b/source/net/yacy/cora/services/federated/solr/responsewriter/JsonResponseWriter.java
@@ -18,7 +18,7 @@
* If not, see .
*/
-package net.yacy.cora.services.federated.solr;
+package net.yacy.cora.services.federated.solr.responsewriter;
import java.io.IOException;
import java.io.Writer;
@@ -31,8 +31,8 @@ import java.util.Map;
import net.yacy.cora.document.MultiProtocolURI;
import net.yacy.cora.protocol.HeaderFramework;
-import net.yacy.cora.services.federated.solr.OpensearchResponseWriter.ResHead;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
+import net.yacy.cora.services.federated.solr.YaCySchema;
+import net.yacy.cora.services.federated.solr.responsewriter.OpensearchResponseWriter.ResHead;
import net.yacy.server.serverObjects;
import org.apache.lucene.document.Document;
diff --git a/source/net/yacy/cora/services/federated/solr/OpensearchResponseWriter.java b/source/net/yacy/cora/services/federated/solr/responsewriter/OpensearchResponseWriter.java
similarity index 99%
rename from source/net/yacy/cora/services/federated/solr/OpensearchResponseWriter.java
rename to source/net/yacy/cora/services/federated/solr/responsewriter/OpensearchResponseWriter.java
index 0a2bd0c98..8fd7e16b8 100644
--- a/source/net/yacy/cora/services/federated/solr/OpensearchResponseWriter.java
+++ b/source/net/yacy/cora/services/federated/solr/responsewriter/OpensearchResponseWriter.java
@@ -18,7 +18,7 @@
* If not, see .
*/
-package net.yacy.cora.services.federated.solr;
+package net.yacy.cora.services.federated.solr.responsewriter;
import java.io.IOException;
import java.io.Writer;
@@ -33,7 +33,7 @@ import java.util.Set;
import net.yacy.cora.document.RSSMessage;
import net.yacy.cora.lod.vocabulary.DublinCore;
import net.yacy.cora.protocol.HeaderFramework;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
+import net.yacy.cora.services.federated.solr.YaCySchema;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Fieldable;
diff --git a/source/net/yacy/cora/services/federated/yacy/ConfigurationSet.java b/source/net/yacy/cora/services/federated/yacy/ConfigurationSet.java
index 9c5beb8d0..d7212661c 100644
--- a/source/net/yacy/cora/services/federated/yacy/ConfigurationSet.java
+++ b/source/net/yacy/cora/services/federated/yacy/ConfigurationSet.java
@@ -37,6 +37,7 @@ import java.util.TreeMap;
import org.apache.log4j.Logger;
+import net.yacy.cora.services.federated.solr.YaCySchema;
import net.yacy.cora.services.federated.yacy.ConfigurationSet.Entry;
import net.yacy.cora.storage.Files;
diff --git a/source/net/yacy/crawler/data/ZURL.java b/source/net/yacy/crawler/data/ZURL.java
index 166c3552e..6bbe8a914 100644
--- a/source/net/yacy/crawler/data/ZURL.java
+++ b/source/net/yacy/crawler/data/ZURL.java
@@ -39,8 +39,8 @@ import org.apache.solr.common.SolrInputDocument;
import net.yacy.cora.document.ASCII;
import net.yacy.cora.document.UTF8;
import net.yacy.cora.order.Base64Order;
-import net.yacy.cora.services.federated.solr.ShardSolrConnector;
-import net.yacy.cora.services.federated.solr.SolrConnector;
+import net.yacy.cora.services.federated.solr.connector.ShardSolrConnector;
+import net.yacy.cora.services.federated.solr.connector.SolrConnector;
import net.yacy.cora.util.SpaceExceededException;
import net.yacy.crawler.retrieval.Request;
import net.yacy.kelondro.data.meta.DigestURI;
diff --git a/source/net/yacy/kelondro/data/meta/URIMetadataNode.java b/source/net/yacy/kelondro/data/meta/URIMetadataNode.java
index ffca32018..448dc6d93 100644
--- a/source/net/yacy/kelondro/data/meta/URIMetadataNode.java
+++ b/source/net/yacy/kelondro/data/meta/URIMetadataNode.java
@@ -33,7 +33,7 @@ import net.yacy.cora.document.UTF8;
import net.yacy.cora.lod.vocabulary.Tagging;
import net.yacy.cora.order.Base64Order;
import net.yacy.cora.services.federated.solr.SolrType;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
+import net.yacy.cora.services.federated.solr.YaCySchema;
import net.yacy.crawler.retrieval.Request;
import net.yacy.crawler.retrieval.Response;
import net.yacy.document.Condenser;
diff --git a/source/net/yacy/peers/Protocol.java b/source/net/yacy/peers/Protocol.java
index 287907766..deaf47232 100644
--- a/source/net/yacy/peers/Protocol.java
+++ b/source/net/yacy/peers/Protocol.java
@@ -75,8 +75,8 @@ import net.yacy.cora.protocol.ClientIdentification;
import net.yacy.cora.protocol.Domains;
import net.yacy.cora.protocol.http.HTTPClient;
import net.yacy.cora.services.federated.opensearch.SRURSSConnector;
-import net.yacy.cora.services.federated.solr.RemoteSolrConnector;
-import net.yacy.cora.services.federated.solr.SolrConnector;
+import net.yacy.cora.services.federated.solr.connector.RemoteSolrConnector;
+import net.yacy.cora.services.federated.solr.connector.SolrConnector;
import net.yacy.cora.services.federated.yacy.CacheStrategy;
import net.yacy.cora.storage.HandleSet;
import net.yacy.cora.util.SpaceExceededException;
diff --git a/source/net/yacy/search/Switchboard.java b/source/net/yacy/search/Switchboard.java
index 740e9e7aa..bbb8c7649 100644
--- a/source/net/yacy/search/Switchboard.java
+++ b/source/net/yacy/search/Switchboard.java
@@ -98,9 +98,9 @@ import net.yacy.cora.protocol.ResponseHeader;
import net.yacy.cora.protocol.TimeoutRequest;
import net.yacy.cora.protocol.http.HTTPClient;
import net.yacy.cora.protocol.http.ProxySettings;
-import net.yacy.cora.services.federated.solr.ShardSelection;
-import net.yacy.cora.services.federated.solr.ShardSolrConnector;
-import net.yacy.cora.services.federated.solr.SolrConnector;
+import net.yacy.cora.services.federated.solr.connector.ShardSelection;
+import net.yacy.cora.services.federated.solr.connector.ShardSolrConnector;
+import net.yacy.cora.services.federated.solr.connector.SolrConnector;
import net.yacy.cora.services.federated.yacy.CacheStrategy;
import net.yacy.cora.storage.HandleSet;
import net.yacy.cora.util.SpaceExceededException;
diff --git a/source/net/yacy/search/index/Fulltext.java b/source/net/yacy/search/index/Fulltext.java
index d9ac71377..3db058b78 100644
--- a/source/net/yacy/search/index/Fulltext.java
+++ b/source/net/yacy/search/index/Fulltext.java
@@ -38,10 +38,10 @@ import net.yacy.cora.date.GenericFormatter;
import net.yacy.cora.document.ASCII;
import net.yacy.cora.document.MultiProtocolURI;
import net.yacy.cora.order.CloneableIterator;
-import net.yacy.cora.services.federated.solr.EmbeddedSolrConnector;
-import net.yacy.cora.services.federated.solr.MirrorSolrConnector;
-import net.yacy.cora.services.federated.solr.SolrConnector;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
+import net.yacy.cora.services.federated.solr.YaCySchema;
+import net.yacy.cora.services.federated.solr.connector.EmbeddedSolrConnector;
+import net.yacy.cora.services.federated.solr.connector.MirrorSolrConnector;
+import net.yacy.cora.services.federated.solr.connector.SolrConnector;
import net.yacy.cora.sorting.ConcurrentScoreMap;
import net.yacy.cora.sorting.ScoreMap;
import net.yacy.cora.storage.HandleSet;
diff --git a/source/net/yacy/search/index/Segment.java b/source/net/yacy/search/index/Segment.java
index 38f39d812..e273a1d9e 100644
--- a/source/net/yacy/search/index/Segment.java
+++ b/source/net/yacy/search/index/Segment.java
@@ -41,9 +41,9 @@ import net.yacy.cora.document.UTF8;
import net.yacy.cora.order.Base64Order;
import net.yacy.cora.order.ByteOrder;
import net.yacy.cora.protocol.ResponseHeader;
-import net.yacy.cora.services.federated.solr.AbstractSolrConnector;
+import net.yacy.cora.services.federated.solr.YaCySchema;
+import net.yacy.cora.services.federated.solr.connector.AbstractSolrConnector;
import net.yacy.cora.services.federated.yacy.CacheStrategy;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
import net.yacy.cora.storage.HandleSet;
import net.yacy.cora.util.LookAheadIterator;
import net.yacy.cora.util.SpaceExceededException;
diff --git a/source/net/yacy/search/index/SolrConfiguration.java b/source/net/yacy/search/index/SolrConfiguration.java
index 1692f4395..ff1615806 100644
--- a/source/net/yacy/search/index/SolrConfiguration.java
+++ b/source/net/yacy/search/index/SolrConfiguration.java
@@ -45,8 +45,8 @@ import net.yacy.cora.document.UTF8;
import net.yacy.cora.protocol.Domains;
import net.yacy.cora.protocol.HeaderFramework;
import net.yacy.cora.protocol.ResponseHeader;
+import net.yacy.cora.services.federated.solr.YaCySchema;
import net.yacy.cora.services.federated.yacy.ConfigurationSet;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
import net.yacy.crawler.data.CrawlProfile;
import net.yacy.crawler.retrieval.Response;
import net.yacy.document.Condenser;
diff --git a/source/net/yacy/search/query/QueryParams.java b/source/net/yacy/search/query/QueryParams.java
index f9402debb..f8f80a1cd 100644
--- a/source/net/yacy/search/query/QueryParams.java
+++ b/source/net/yacy/search/query/QueryParams.java
@@ -46,8 +46,8 @@ import net.yacy.cora.document.UTF8;
import net.yacy.cora.geo.GeoLocation;
import net.yacy.cora.lod.vocabulary.Tagging;
import net.yacy.cora.order.Base64Order;
+import net.yacy.cora.services.federated.solr.YaCySchema;
import net.yacy.cora.services.federated.yacy.CacheStrategy;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
import net.yacy.cora.storage.HandleSet;
import net.yacy.cora.util.SpaceExceededException;
import net.yacy.document.Condenser;
diff --git a/source/net/yacy/server/serverObjects.java b/source/net/yacy/server/serverObjects.java
index f97ad13b6..421643dbb 100644
--- a/source/net/yacy/server/serverObjects.java
+++ b/source/net/yacy/server/serverObjects.java
@@ -59,7 +59,7 @@ import net.yacy.cora.document.MultiProtocolURI;
import net.yacy.cora.document.UTF8;
import net.yacy.cora.protocol.RequestHeader;
import net.yacy.cora.protocol.RequestHeader.FileType;
-import net.yacy.cora.services.federated.yacy.YaCySchema;
+import net.yacy.cora.services.federated.solr.YaCySchema;
import net.yacy.document.parser.html.CharacterCoding;
import net.yacy.kelondro.util.Formatter;
import net.yacy.search.Switchboard;