filtering of non-index pages during index-of search

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@3004 6c8d7289-2bf4-0310-a012-ef5d649a1542
pull/1/head
orbiter 19 years ago
parent 0a0c3edeb6
commit f1528672b1

@ -162,7 +162,7 @@ public class kelondroRow {
}
public Entry(byte[] rowinstance, int start, int length) {
assert objectsize == length;
assert objectsize == length : "objectsize = " + objectsize + ", length = " + length;
this.rowinstance = new byte[objectsize];
int ll = Math.min(objectsize, length);
System.arraycopy(rowinstance, start, this.rowinstance, 0, ll);

@ -190,7 +190,7 @@ public class kelondroRowSet extends kelondroRowCollection implements kelondroInd
Integer nxt = (Integer) removeMarker.firstKey();
removeMarker.remove(nxt);
int idx = nxt.intValue();
assert (idx < sortBound);
assert (idx < sortBound) : "idx = " + idx + ", sortBound = " + sortBound;
int d = 1;
byte[] a;
while (removeMarker.size() > 0) {

@ -395,7 +395,18 @@ public final class plasmaSearchEvent extends Thread implements Runnable {
// find the url entry
page = urlStore.load(entry.urlHash(), entry);
// add a result
if (page != null) acc.addResult(page, preranking);
if (page != null) {
if ((!(query.constraint.equals(plasmaSearchQuery.catchall_constraint))) &&
(query.constraint.get(plasmaCondenser.flag_cat_indexof)) &&
(!(page.comp().descr().startsWith("Index of")))) {
log.logFine("filtered out " + page.comp().url().toString());
// filter out bad results
Iterator wi = query.queryHashes.iterator();
while (wi.hasNext()) wordIndex.removeEntry((String) wi.next(), page.hash(), true);
} else {
acc.addResult(page, preranking);
}
}
}
} catch (kelondroException ee) {
serverLog.logSevere("PLASMA", "Database Failure during plasmaSearch.order: " + ee.getMessage(), ee);

Loading…
Cancel
Save