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;
+ }
}
}