diff --git a/bin/localsearch.sh b/bin/localsearch.sh index cf412a3a5..3d43b2807 100755 --- a/bin/localsearch.sh +++ b/bin/localsearch.sh @@ -1,10 +1,10 @@ port=$(grep ^port= ../DATA/SETTINGS/yacy.conf |cut -d= -f2) if which curl &>/dev/null; then - httpfetcher="curl -s" + curl -s "http://localhost:$port/yacysearch.rss?resource=local&verify=false&query=$1" | awk '/^/{ gsub("","" );gsub("<\/link>","" ); print $0 }' elif which wget &>/dev/null; then - httpfetcher="wget -q -O - " + wget -q -O - "http://localhost:$port/yacysearch.rss?resource=local&verify=false&query=$1" | awk '/^/{ gsub("","" );gsub("<\/link>","" ); print $0 }' else echo "Neither curl nor wget installed!" exit 1 fi -eval $httpfetcher "http://localhost:$port/yacysearch.rss?query=$1&resource=local&verify=false" | awk '/^/{ gsub("","" );gsub("<\/link>","" ); print $0 }' + diff --git a/htroot/Status.java b/htroot/Status.java index 204c225c7..e7bf09338 100644 --- a/htroot/Status.java +++ b/htroot/Status.java @@ -205,10 +205,10 @@ public class Status { } } final String peerStatus = ((sb.webIndex.seedDB.mySeed() == null) ? yacySeed.PEERTYPE_VIRGIN : sb.webIndex.seedDB.mySeed().get(yacySeed.PEERTYPE, yacySeed.PEERTYPE_VIRGIN)); - if (peerStatus.equals(yacySeed.PEERTYPE_VIRGIN)) { + if (peerStatus.equals(yacySeed.PEERTYPE_VIRGIN) && sb.getConfig("network.unit.name", "").equals("freeworld")) { prop.put(PEERSTATUS, "0"); prop.put("urgentStatusVirgin", "1"); - } else if (peerStatus.equals(yacySeed.PEERTYPE_JUNIOR)) { + } else if (peerStatus.equals(yacySeed.PEERTYPE_JUNIOR) && sb.getConfig("network.unit.name", "").equals("freeworld")) { prop.put(PEERSTATUS, "1"); prop.put("warningStatusJunior", "1"); } else if (peerStatus.equals(yacySeed.PEERTYPE_SENIOR)) { diff --git a/source/de/anomic/plasma/plasmaSearchEvent.java b/source/de/anomic/plasma/plasmaSearchEvent.java index d8083a24c..731805f72 100644 --- a/source/de/anomic/plasma/plasmaSearchEvent.java +++ b/source/de/anomic/plasma/plasmaSearchEvent.java @@ -209,7 +209,7 @@ public final class plasmaSearchEvent { final long timer = System.currentTimeMillis(); // use only a single worker thread, thats enough resultWorker worker = new resultWorker(0, 3000, 0); - worker.start(); + worker.run(); serverProfiling.update("SEARCH", new plasmaProfiling.searchEvent(query.id(true), "offline snippet fetch", result.size(), System.currentTimeMillis() - timer)); } @@ -458,22 +458,23 @@ public final class plasmaSearchEvent { if (event == null) { // generate a new event event = new plasmaSearchEvent(query, wordIndex, crawlResults, preselectedPeerHashes, generateAbstracts); - } - - // if worker threads had been alive, but did not succeed, start them again to fetch missing links - if ((!event.anyWorkerAlive()) && - (((query.contentdom == plasmaSearchQuery.CONTENTDOM_IMAGE) && (event.images.size() + 30 < query.neededResults())) || - (event.result.size() < query.neededResults() + 10)) && - (event.getRankingResult().getLocalResourceSize() + event.getRankingResult().getRemoteResourceSize() > event.result.size())) { - // set new timeout - event.eventTime = System.currentTimeMillis(); - // start worker threads to fetch urls and snippets - event.workerThreads = new resultWorker[workerThreadCount]; - resultWorker worker; - for (int i = 0; i < workerThreadCount; i++) { - worker = event.new resultWorker(i, 6000, (query.onlineSnippetFetch) ? 2 : 0); - worker.start(); - event.workerThreads[i] = worker; + } else { + // if worker threads had been alive, but did not succeed, start them again to fetch missing links + if ((!event.anyWorkerAlive()) && + (((query.contentdom == plasmaSearchQuery.CONTENTDOM_IMAGE) && (event.images.size() + 30 < query.neededResults())) || + (event.result.size() < query.neededResults() + 10)) && + (event.query.onlineSnippetFetch) && + (event.getRankingResult().getLocalResourceSize() + event.getRankingResult().getRemoteResourceSize() > event.result.size())) { + // set new timeout + event.eventTime = System.currentTimeMillis(); + // start worker threads to fetch urls and snippets + event.workerThreads = new resultWorker[workerThreadCount]; + resultWorker worker; + for (int i = 0; i < workerThreadCount; i++) { + worker = event.new resultWorker(i, 6000, (query.onlineSnippetFetch) ? 2 : 0); + worker.start(); + event.workerThreads[i] = worker; + } } }