mirror of
https://github.com/yacy/yacy_search_server.git
synced 2024-09-21 00:00:13 +02:00
91a0401d59
structure, but is not filled yet. To have the opportunity of a second core, multi-core functionality had to be implemented to the deep-embedded solr: - migrated the solr_40 directory content to a subdirectory 'collection1'; the previously used default core is now called collection1 - added solr_40/webgraph subdirectory as second core - added a servlet configuration for the second core 'webgraph' in /IndexSchema_p.html - added instance handling as addition to solr connections: all solr connectors are now instances of an solr 'instance' object; this required a complete re-design of the solr embedding - migrated also caching and sharding ontop of new instance handling - migrated the search apis to handle now the access to a specific core, the default core named 'collection1' - migrated the remote solr search interface to access shards of cores; for the yacy remote search the default core is now called 'solr'; using the peer address as solr address - migrated the solr backup and restore process: old backups cannot be used after this migration! - redesign of solr instance handling in all methods which access the instances: they cannot hold copies of these instances any more; the must retrieve the actuall connection object every time they want to write to it (this solves also some bugs when switching the index/network) - added another schema 'solr.webgraph.schema', the old solr.keys.list is replaced by solr.collection.schema
44 lines
1.4 KiB
Java
44 lines
1.4 KiB
Java
// migrateurldb_p.java
|
|
|
|
import net.yacy.cora.protocol.RequestHeader;
|
|
import net.yacy.migration;
|
|
import net.yacy.search.Switchboard;
|
|
import net.yacy.server.serverObjects;
|
|
import net.yacy.server.serverSwitch;
|
|
|
|
public class migrateurldb_p {
|
|
|
|
public static serverObjects respond(@SuppressWarnings("unused") final RequestHeader header, final serverObjects post, final serverSwitch env) {
|
|
final serverObjects prop = new serverObjects();
|
|
final Switchboard sb = (Switchboard) env;
|
|
|
|
int cnt;
|
|
|
|
if ((cnt = migration.migrateUrldbtoSolr(sb)) > 0) {
|
|
prop.put("count", cnt);
|
|
|
|
if (post != null && post.containsKey("dorefresh")) {
|
|
int lastcount = post.getInt("lastcount", 0);
|
|
Long t = post.getLong("lasttime", 1);
|
|
|
|
Double difft = (System.currentTimeMillis() - t) / 60000.0d;
|
|
int diff = (int)((lastcount - cnt) / difft) ;
|
|
prop.put("speed", diff);
|
|
prop.put("lasttime", t);
|
|
prop.put("lastcount", lastcount);
|
|
|
|
} else {
|
|
prop.put("speed", "?");
|
|
prop.put("lastcount",cnt);
|
|
prop.put("lasttime", System.currentTimeMillis());
|
|
}
|
|
} else {
|
|
prop.put("speed", "");
|
|
prop.put("count", "no urldb index available");
|
|
}
|
|
|
|
|
|
// return rewrite properties
|
|
return prop;
|
|
}
|
|
} |