- removed concurrency overhead for small number of index normalizations as it happens during remote search
- removed 'load only parseable' constraint for snippet fetch because some resources may not have any url file extension and these had therefore not been parseable and searcheable since they may become parseable after loading when their mime type is known
- this partly fixes some problems with http://forum.yacy-websuche.de/viewtopic.php?p=20300#p20300 but more changes are necessary to get all expected search results
git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@6926 6c8d7289-2bf4-0310-a012-ef5d649a1542
if(yacyCore.log.isInfo())yacyCore.log.logInfo("remote search: rejected url '" +metadata.url()+"' ("+urlRejectReason+") from peer "+target.getName());
continue;// reject url outside of our domain
}
// save the url entry
Referenceentry;
if(urlEntry.word()==null){
if(yacyCore.log.isWarning())yacyCore.log.logWarning("remote search (client): no word attached from peer " +target.getName()+", version "+target.getVersion());
Referenceentry=urlEntry.word();
if(entry==null){
if(yacyCore.log.isWarning())yacyCore.log.logWarning("remote search: no word attached from peer " +target.getName()+", version "+target.getVersion());
continue;// no word attached
}
// the search-result-url transports all the attributes of word indexes
if(yacyCore.log.isInfo())yacyCore.log.logInfo("remote search (client): url-hash " +newString(urlEntry.hash())+" does not belong to word-attached-hash "+newString(entry.metadataHash())+"; url = "+metadata.url()+" from peer "+target.getName());
yacyCore.log.logInfo("remote search: url-hash " +newString(urlEntry.hash())+" does not belong to word-attached-hash "+newString(entry.metadataHash())+"; url = "+metadata.url()+" from peer "+target.getName());
continue;// spammed
}
@ -554,23 +551,30 @@ public final class yacyClient {
break;
}
}
// store url hash for statistics
urls[n]=newString(urlEntry.hash());
}
// store remote result to local result container
synchronized(containerCache){
// insert one container into the search result buffer
containerCache.add(container[0],false,joincount);// one is enough
// integrate remote topwords
finalStringreferences=result.get("references");
yacyCore.log.logInfo("remote search (client): peer "+target.getName()+" sent references "+references);
if(references!=null){
// add references twice, so they can be counted (must have at least 2 entries)
containerCache.addTopic(references.split(","));
containerCache.addTopic(references.split(","));
containerCache.add(container[0],false,joincount);// one is enough, only the references are used, not the word