mirror of
https://github.com/yacy/yacy_search_server.git
synced 2024-09-22 00:00:59 +02:00
99bf0b8e41
divided that class into three parts: - the peers object is now hosted by the plasmaSwitchboard - the crawler elements are now in a new class, crawler.CrawlerSwitchboard - the index elements are core of the new segment data structure, which is a bundle of different indexes for the full text and (in the future) navigation indexes and the metadata store. The new class is now in kelondro.text.Segment The refactoring is inspired by the roadmap to create index segments, the option to host different indexes on one peer. git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@5990 6c8d7289-2bf4-0310-a012-ef5d649a1542
68 lines
2.7 KiB
Java
68 lines
2.7 KiB
Java
|
|
import java.util.Iterator;
|
|
|
|
import de.anomic.crawler.CrawlProfile.entry;
|
|
import de.anomic.http.httpRequestHeader;
|
|
import de.anomic.plasma.plasmaSwitchboard;
|
|
import de.anomic.crawler.CrawlSwitchboard;
|
|
import de.anomic.server.serverObjects;
|
|
import de.anomic.server.serverSwitch;
|
|
|
|
|
|
public class WatchWebStructure_p {
|
|
public static serverObjects respond(final httpRequestHeader header, final serverObjects post, final serverSwitch<?> env) {
|
|
final plasmaSwitchboard sb = (plasmaSwitchboard) env;
|
|
final serverObjects prop = new serverObjects();
|
|
|
|
int width = 768;
|
|
int height = 576;
|
|
int depth = 3;
|
|
int nodes = 500; // maximum number of host nodes that are painted
|
|
int time = -1;
|
|
String host = "auto";
|
|
|
|
if (post != null) {
|
|
width = post.getInt("width", 768);
|
|
height = post.getInt("height", 576);
|
|
depth = post.getInt("depth", 3);
|
|
nodes = post.getInt("nodes", width * height * 100 / 768 / 576);
|
|
time = post.getInt("time", -1);
|
|
host = post.get("host", "auto");
|
|
}
|
|
|
|
if (host.equals("auto")) {
|
|
// try to find the host from the crawl profiles
|
|
final Iterator<entry> it = sb.crawler.profilesActiveCrawls.profiles(true);
|
|
entry e;
|
|
while (it.hasNext()) {
|
|
e = it.next();
|
|
if (e.name().equals(CrawlSwitchboard.CRAWL_PROFILE_PROXY) ||
|
|
e.name().equals(CrawlSwitchboard.CRAWL_PROFILE_REMOTE) ||
|
|
e.name().equals(CrawlSwitchboard.CRAWL_PROFILE_SNIPPET_LOCAL_TEXT) ||
|
|
e.name().equals(CrawlSwitchboard.CRAWL_PROFILE_SNIPPET_GLOBAL_TEXT) ||
|
|
e.name().equals(CrawlSwitchboard.CRAWL_PROFILE_SNIPPET_LOCAL_MEDIA) ||
|
|
e.name().equals(CrawlSwitchboard.CRAWL_PROFILE_SNIPPET_GLOBAL_MEDIA) ||
|
|
e.name().equals(CrawlSwitchboard.CRAWL_PROFILE_SURROGATE))
|
|
continue;
|
|
host = e.name();
|
|
break; // take the first one
|
|
}
|
|
}
|
|
|
|
prop.putHTML("host", host);
|
|
prop.put("depth", depth);
|
|
prop.put("depthi", Math.min(8, depth + 1));
|
|
prop.put("depthd", Math.max(0, depth - 1));
|
|
prop.put("nodes", nodes);
|
|
prop.put("nodesi", Math.min(1000, nodes + 100));
|
|
prop.put("nodesd", Math.max(100, nodes - 100));
|
|
prop.put("time", time);
|
|
prop.put("timei", (time > 9000) ? -1 : ((time < 0) ? -1 : Math.min(9999, time + 1000)));
|
|
prop.put("timed", (time < 0) ? 9000 : Math.max(1000, time - 1000));
|
|
prop.put("width", width);
|
|
prop.put("height", height);
|
|
|
|
return prop;
|
|
}
|
|
}
|