removed block rank ranking and all YBR files in /ranking

pull/1/head
Michael Peter Christen 12 years ago
parent 164603b946
commit 5f92c68f1f

@ -50,7 +50,6 @@
<property name="langstats" location="langstats"/>
<property name="locales" location="locales"/>
<property name="skins" location="skins"/>
<property name="ranking" location="ranking"/>
<property name="release" location="RELEASE"/>
<property name="htdocsWWW" location="${data}/HTDOCS/www"/>
<property name="release_main" location="${release}/MAIN"/>
@ -401,13 +400,6 @@
</fileset>
</copy>
<!-- copy ranking files -->
<copy todir="${release_main}/ranking">
<fileset dir="${ranking}">
<include name="**/*"/>
</fileset>
</copy>
<!-- copy development tools -->
<copy todir="${release_main}">
<fileset dir=".">
@ -595,13 +587,6 @@
</fileset>
</copy>
<!-- copy ranking files -->
<copy todir="${DESTDIR}/usr/share/yacy/ranking">
<fileset dir="${ranking}">
<include name="**/*"/>
</fileset>
</copy>
<!-- prepare /var/lib/yacy -->
<mkdir dir="${DESTDIR}/var/lib/yacy" />
<mkdir dir="${DESTDIR}/var/lib/yacy/LOG" />

@ -176,14 +176,12 @@
<td>hash</td>
<td>url</td>
<td>dom length</td>
<td>ybr</td>
<td>url comps</td>
<td>url length</td>
<td>pos in text</td>
<td>pos of phrase</td>
<td>pos in phrase</td>
<td>word distance</td>
<td>YBR</td>
<td>term frequency</td>
<td>authority</td>
<td>date</td>
@ -206,14 +204,12 @@
<td><a href="/IndexControlURLs_p.html?keystring=#[keyString]#&amp;keyhash=#[keyHash]#&amp;urlhash=#[urlhxValue]#&amp;urlstringsearch=&amp;urlstring=#[urlString]#" class="tt">#[urlhxValue]#</a></td>
<td><a href="#[urlString]#">#[urlStringShort]#</a></td>
<td class="TableCellDark">#[domlength]#</td>
<td class="TableCellDark">#[ybr]#</td>
<td class="TableCellDark">#[urlcomps]#</td>
<td class="TableCellDark">#[urllength]#</td>
<td class="TableCellDark">#[pos]#</td>
<td class="TableCellDark">#[phrase]#</td>
<td class="TableCellDark">#[posinphrase]#</td>
<td class="TableCellDark">#[worddistance]#</td>
<td class="TableCellDark">#[ybr]#</td>
<td>#[tf]#</td>
<td>#[authority]#</td>
<td>#[date]#</td>

@ -68,7 +68,6 @@ import net.yacy.search.query.QueryModifier;
import net.yacy.search.query.QueryParams;
import net.yacy.search.query.SearchEvent;
import net.yacy.search.query.SearchEventCache;
import net.yacy.search.ranking.BlockRank;
import net.yacy.server.serverObjects;
import net.yacy.server.serverSwitch;
@ -496,43 +495,26 @@ public class IndexControlRWIs_p {
prop.putHTML("genUrlList_urlList_" + i + "_urlExists_keyString", keystring);
prop.put("genUrlList_urlList_" + i + "_urlExists_keyHash", keyhashs);
prop.putHTML("genUrlList_urlList_" + i + "_urlExists_urlString", us);
prop.put(
"genUrlList_urlList_" + i + "_urlExists_urlStringShort",
(us.length() > 40) ? (us.substring(0, 20) + "<br>" + us.substring(20, 40) + "...") : ((us
.length() > 30) ? (us.substring(0, 20) + "<br>" + us.substring(20)) : us));
prop.put("genUrlList_urlList_" + i + "_urlExists_urlStringShort",
(us.length() > 40) ? (us.substring(0, 20) + "<br>" + us.substring(20, 40) + "...") : ((us.length() > 30) ? (us.substring(0, 20) + "<br>" + us.substring(20)) : us));
prop.putNum("genUrlList_urlList_" + i + "_urlExists_ranking", (entry.ranking() - rn));
prop.putNum(
"genUrlList_urlList_" + i + "_urlExists_domlength",
DigestURI.domLengthEstimation(entry.hash()));
prop.putNum("genUrlList_urlList_" + i + "_urlExists_ybr", BlockRank.ranking(entry.hash()));
prop.putNum("genUrlList_urlList_" + i + "_urlExists_tf", 1000.0 * entry
.word()
.termFrequency());
prop.putNum("genUrlList_urlList_" + i + "_urlExists_authority", (theSearch.getOrder() == null)
? -1
: theSearch.getOrder().authority(ASCII.String(entry.hash(), 6, 6)));
prop.put(
"genUrlList_urlList_" + i + "_urlExists_date",
GenericFormatter.SHORT_DAY_FORMATTER.format(new Date(entry.word().lastModified())));
prop.putNum("genUrlList_urlList_" + i + "_urlExists_wordsintitle", entry
.word()
.wordsintitle());
prop.putNum("genUrlList_urlList_" + i + "_urlExists_domlength", DigestURI.domLengthEstimation(entry.hash()));
prop.putNum("genUrlList_urlList_" + i + "_urlExists_tf", 1000.0 * entry.word().termFrequency());
prop.putNum("genUrlList_urlList_" + i + "_urlExists_authority", (theSearch.getOrder() == null) ? -1 : theSearch.getOrder().authority(ASCII.String(entry.hash(), 6, 6)));
prop.put("genUrlList_urlList_" + i + "_urlExists_date", GenericFormatter.SHORT_DAY_FORMATTER.format(new Date(entry.word().lastModified())));
prop.putNum("genUrlList_urlList_" + i + "_urlExists_wordsintitle", entry.word().wordsintitle());
prop.putNum("genUrlList_urlList_" + i + "_urlExists_wordsintext", entry.word().wordsintext());
prop.putNum("genUrlList_urlList_" + i + "_urlExists_phrasesintext", entry
.word()
.phrasesintext());
prop.putNum("genUrlList_urlList_" + i + "_urlExists_phrasesintext", entry.word().phrasesintext());
prop.putNum("genUrlList_urlList_" + i + "_urlExists_llocal", entry.word().llocal());
prop.putNum("genUrlList_urlList_" + i + "_urlExists_lother", entry.word().lother());
prop.putNum("genUrlList_urlList_" + i + "_urlExists_hitcount", entry.word().hitcount());
prop.putNum("genUrlList_urlList_" + i + "_urlExists_worddistance", 0);
prop.putNum("genUrlList_urlList_" + i + "_urlExists_ybr", BlockRank.ranking(entry.hash()));
prop.putNum("genUrlList_urlList_" + i + "_urlExists_pos", entry.word().minposition());
prop.putNum("genUrlList_urlList_" + i + "_urlExists_phrase", entry.word().posofphrase());
prop.putNum("genUrlList_urlList_" + i + "_urlExists_posinphrase", entry.word().posinphrase());
prop.putNum("genUrlList_urlList_" + i + "_urlExists_urlcomps", entry.word().urlcomps());
prop.putNum("genUrlList_urlList_" + i + "_urlExists_urllength", entry.word().urllength());
prop
.put(
prop.put(
"genUrlList_urlList_" + i + "_urlExists_props",
((entry.word().flags().get(Condenser.flag_cat_indexof)) ? "appears on index page, " : "")
+ ((entry.word().flags().get(Condenser.flag_cat_hasimage)) ? "contains images, " : "")

@ -73,8 +73,7 @@ public class RankingRWI_p {
rankingParameters.put(RankingProfile.WORDDISTANCE, "Word Distance;a higher ranking level prefers documents where the search words appear close together. This ranking parameter works like a NEAR operator in more-than-one word searches.");
rankingParameters.put(RankingProfile.WORDSINTEXT, "Words In Text;a higher ranking level prefers documents with a large number of words. Be aware that this is a compensation of the term frequency parameter.");
rankingParameters.put(RankingProfile.WORDSINTITLE, "Words In Title;a higher ranking level prefers documents with a large number of words in the document title.");
rankingParameters.put(RankingProfile.YBR, "YaCy Block Rank;a higher ranking level prefers documents with a higher, statically assigned ranking value on domains. This is like a 'moderated ranking'. The ranking on domains (blocks) was computed using a link analyses on large link graphs.");
rankingParameters.put(RankingProfile.URLCOMPINTOPLIST, "URL Component Appears In Toplist;a higher ranking level prefers documents with words in the url path that match words in the toplist. The toplist is generated dynamically from the search results using a statistic of the most used words. The toplist is a top-10 list of the most used words in URLs and document titles.");
rankingParameters.put(RankingProfile.DESCRCOMPINTOPLIST, "Description Comp. Appears In Toplist;a higher ranking level prefers documents with words in the document description that match words in the toplist. The toplist is generated dynamically from the search results using a statistic of the most used words. The toplist is a top-10 list of the most used words in URLs and document titles.");
rankingParameters.put(RankingProfile.PREFER, "Application Of Prefer Pattern;a higher ranking level prefers documents where the url matches the prefer pattern given in a search request.");

@ -28,13 +28,11 @@
// javac -classpath .:../classes index.java
// if the shell's current path is HTROOT
import net.yacy.cora.document.analysis.Classification;
import net.yacy.cora.document.analysis.Classification.ContentDomain;
import net.yacy.cora.protocol.RequestHeader;
import net.yacy.search.Switchboard;
import net.yacy.search.SwitchboardConstants;
import net.yacy.search.ranking.BlockRank;
import net.yacy.server.serverObjects;
import net.yacy.server.serverSwitch;
@ -43,7 +41,6 @@ public class index {
public static serverObjects respond(final RequestHeader header, final serverObjects post, final serverSwitch env) {
final Switchboard sb = (Switchboard) env;
final serverObjects prop = new serverObjects();
BlockRank.ensureLoaded(); // lazy initialization of block rank tables
final String forwardTarget = sb.getConfig(SwitchboardConstants.INDEX_FORWARD, "");
if (forwardTarget.length() > 0) {

@ -1 +0,0 @@
1ZZwWAumBqYA

@ -1 +0,0 @@
-6gsqA020wSA1IWRpA2DGiZA3I173D4LHf1A4aCKyCFARhBYIgp3zAKYs_BDKlGntBP4hN7BTWSa6BWOOkgC_aJQZBlqygQCskjqmAyAS1GZ

@ -1 +0,0 @@
-dsznA0ffeYa0k8HYA1buONZ1hp4CZ1rmZEB2I2Z4a2OMHFD2dS4GC2snssC2xfZlA2yPtnA3_cOCZ3rYBLA43_QFA4DC3rZ4QT2QA4Xr0oT4aOOeC4gQ-UB4kBsyB4soqED4uvaoD4yEsRB569MNB5A85JD5AFAhB5NS-6D5OYk8A5T24mD5THrdA5qgbGB5sF1bD5unnvB6QOSwC6dTQBB6rptXD6usA-C76no0B7ka2oA7t6KsA9P-MCD9W06lD9x1MdAACBIaAAZvWMAB-1LsCB9ysWbBnGOKDCGjOTACbH3hCDpqPaBE4hAfBE73e0AE8wOQAEF18XDEclAMCEx09oBFLJT1AG-9VGbG121OCGKUAiQGYhaABGw3c_YHIYNRDHfJp2aHkNBlaJbhHIAK9ym_CKSZlzBKXICRBKZjSDDKg1NMZKokAECLpLpxCLpgIEbLzLEwAMXbAIDO1venZO9pUMAP4b63APW0DgAPhE6DDPpqN1BRDGZUARSMevBRZLwbDRyBkdQS5cf9YSA1H_DTQhlWCTQjllBTjKy9BU8tUYBUBU-UYUcb1FCUibu4AUjcguAUxQV7BVW4SCZVa3wTZVd39RAW6mcGQWvYdQbX5NQ7CXnME8aXqinsbXyU37DYTrnFCYvFrgBZceQYRZlEtda_5TwUB_9DWtB_BjKnDb5HNeAbI925CbJ8MBDbk0LFBboVvbBc6LB8Dc8kOWBcVIH9BcyK-7Dd3k77De6dtuAebtYjBep8doBfsVc0Ag-r_RBg7iLSDgBdF4ZgH2ToAg_tp9CgmKYUDgrGhFAhL2xDDiW6C7BicZSNDirHC-CjEI-jDjWy2JAkMqVVBkpOOUBkt_iIAl10fQDl1EgfalDSGZClN8sqAleZuuAm5lRIBmRbv6AmcsyJCmmz4-CmqQctCmxKFhAnOxx8Dnmc3wAnvUXNDnx345Bo2GfQCo2uawAo59ENBoTbaJbpV6YOBpaytfDq8ncZDqh9jGYqswa8BqyohEAr5F6PCr8wkPDr9NbuAroYZAYs5cngBsSmyICsX0sABs_VxeDsm2fwDsoevXCt1drJAt3YuIAt5KYbDtzQqwAuC9y_buMQoSAuPaHWSuT9E5BuisYQDvEp4rYvbE4iZvbmk1BverBJBvozSXRvuELQDvwejWAxawNOCxgso4ByKwk0Byr3IcAysR9FBysqjTBz5Lh6BzXCNNA

@ -1 +0,0 @@
-9a0tA-Ho8KA-IWRhA-N6LGB-RfRyA-WLVRR-pvIiR-zTGUY015OzA0CVWgA0Eck_A0F5BNA0FS6WD0Gf7WA0KHQrA0PMz3I0XgAcR0c-4sC0svxdA18HEbA19GMfA1AYK5A1GTzRA1WS-FA1uitOA1ygfnA1zncVA245hwA249wFA25q33A26YBgA2I4vyA2ILBAA2NyeoQ2PjZIA2UyolR2XVY8A2qM26A36DOEA3HFtDb3Je4gB3Pc7zR3UPfMA3_mhYA3_sELA3d6cwA3eqjQc3ooEUR3rXPsA3vbbOA3ydd7A41Qv4d44TBEA44yqKR47_4CA4BjcUA4KmySA4OwJZR4SMIEd4hW28D4kfwyA4mEdyA52tZEA58gsDA5DW-mA5PxFkA5QBqrA5RXd5A5SCrfA5Z0gIA5aMo2A5j6xBA5urnTR657elA6Cfy1A6OHmmB6PE77A6nYg1A6r62bR6vzwpR6wSzfA718X6A72gqQR76A2hT78gDIA7P3bNA7QRGAR7VlyiA885vKA8GQxVA8XBdpD8Xy6JA8xeLyA9-C6bZ94Ul4R9Fz0TA9PEwbR9aOzyc9dQuuR9jp3RA9qWyrA9rncTRAeoi-BC7kqvRCY2c1RCmbCgRCv0a1ADUIDrRDdMYvBDqWXjBE1SP3AE7iKlIEF8TAAEr2ZKREx_F6AF0ctZdF43jyRFHzvbRFNgKsRFxvahAG1JUicGAISPAGOsmRRGca52RGnWhFRH6wH8RI2Y5OAIgCE6dIj-97RInSN4ZJa0O_RK0KytRKJNAWAKRMIGRKWoccRLNOmMRLfQpzRM4zGZRMuecrAMy_0nYN-Q06RNVkbvRNxlJVRO6ZOBROFHCGRORipz4Od1hPROra0QROrgT9SOw50sROzLRuRPQNvdRPQr5MDPsK4aYPt81sRQ9SYcRQB6BmRQB6BmdQExs3RQHrJ3RQrPWDYQtDCeRR8gvxRRCyYyRRqwHERSSPtPRSVShmRSz7sxRTE6zHRTNBKMRTm8mkRTtpu-RUcqoyRUiwrFDVHUyHBVnuDNAVnuWKRVv-ziAW87FcRW9-QvRX7t7PAXPZo8RXSojIRXU2jURXmye6AY0HdSZY1b2BRYFYX4RYbg8GRZAumJRZNADHRZhnwNR_6JtuA_HyQ7A_O63wA_i190A_qwbfAa7-5QRaA-43RaNsjxRamVE8Qan3k9RbdvLoBcRr37DcvlccRcziVuRd_BoCRdvZwyReO0LKReWCuUAebXJGaehw1aRfIu9GYfbgqaRgRTGCAgWRHVRgYdleRiUOLbRiW10mRigeRoRjZjG3CjsZXnRk-_N-Rk6Ti9AkCKWxRkOUR0Akjov9Rl9M7WRlYQ2oAllVYHRlmJYLRloeuKRlrVltRoKrPlAoQB1SAoh6foRoo50PRopojSRp3qGLCpAecIRpO1r0RpS-cURpWvK2Ap_C_mRqBK_tAqCqZOdqS9z2RqSdXHRrzrBLDsZgzeRsgaHDQskzspRtDhTjRtNfYbAtom1SSu-3JrAu-yDaRuO0Z4RuYvAtBuoz83Av2DXwbv2wjGAvDPRPAvH2tlAvHn0zAvKwu1AvS_Q7Avd6T7Avh3YPAvrdkKAw-6G-Aw4R7gAwROSXAwUAWtAweQkIAwhhO5AwjJUaAwmtCZRwn6__RwnQlUAwnvgcRwruoLBx0l5FAxOgpUAxWX7FAxZS4zRxkwTIAxsFqaAy3Dbaay4KkrAy4RHURy8dvdRyAYvKAyGUedAzE667AzGc8KRzVcTSRz_2D0Az_OGtAzd_4nRzeudtAzgOyzAzoI1lAzrEL-R

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -187,7 +187,6 @@ import net.yacy.search.index.Segment;
import net.yacy.search.query.AccessTracker;
import net.yacy.search.query.SearchEvent;
import net.yacy.search.query.SearchEventCache;
import net.yacy.search.ranking.BlockRank;
import net.yacy.search.ranking.RankingProfile;
import net.yacy.search.schema.CollectionConfiguration;
import net.yacy.search.schema.CollectionSchema;
@ -624,10 +623,6 @@ public final class Switchboard extends serverSwitch {
+ ppRamString(stopwordsFile.length() / 1024));
}
// load ranking from distribution
final File rankingPath = new File(this.appPath, "ranking/YBR".replace('/', File.separatorChar));
BlockRank.loadBlockRankTable(rankingPath, 16);
// start a cache manager
this.log.logConfig("Starting HT Cache Manager");

@ -34,7 +34,6 @@ import java.util.Map;
import net.yacy.cora.document.ASCII;
import net.yacy.cora.order.Base64Order;
import net.yacy.cora.order.Digest;
import net.yacy.cora.sorting.OrderedScoreMap;
import net.yacy.cora.sorting.ScoreMap;
import net.yacy.cora.util.SpaceExceededException;
@ -43,7 +42,6 @@ import net.yacy.kelondro.logging.Log;
import net.yacy.kelondro.rwi.ReferenceContainer;
import net.yacy.kelondro.rwi.ReferenceContainerCache;
import net.yacy.kelondro.rwi.ReferenceIterator;
import net.yacy.kelondro.util.FileUtils;
import net.yacy.peers.Protocol;
import net.yacy.peers.Seed;
import net.yacy.peers.SeedDB;
@ -55,10 +53,6 @@ import net.yacy.search.index.Segment;
public class BlockRank {
public static BinSearch[] ybrTables = null; // block-rank tables
private static File rankingPath;
private static int count;
/**
* collect host index information from other peers. All peers in the seed database are asked
* this may take some time; please wait up to one minute
@ -213,94 +207,6 @@ public class BlockRank {
return evaluate(index, hostHashResolver, newTables, --recusions); // one recursion step
}
public static void analyse(final WebStructureGraph myGraph, final Map<String, HostStat> hostHash2hostName) {
byte[] hosth = new byte[6];
String hosths, hostn;
HostStat hs;
ensureLoaded();
for (int ybr = 0; ybr < ybrTables.length; ybr++) {
row: for (int i = 0; i < ybrTables[ybr].size(); i++) {
hosth = ybrTables[ybr].get(i, hosth);
hosths = ASCII.String(hosth);
hostn = myGraph.hostHash2hostName(hosths);
if (hostn == null) {
hs = hostHash2hostName.get(hostn);
if (hs != null) hostn = hs.hostname;
}
if (hostn == null) {
//Log.logInfo("BlockRank", "Ranking for Host: ybr = " + ybr + ", hosthash = " + hosths);
continue row;
}
Log.logInfo("BlockRank", "Ranking for Host: ybr = " + ybr + ", hosthash = " + hosths + ", hostname = " + hostn);
}
}
}
/**
* load YaCy Block Rank tables
* These tables have a very simple structure: every file is a sequence of Domain hashes, ordered by b64.
* Each Domain hash has a length of 6 bytes and there is no separation character between the hashes
* @param rankingPath
* @param count
*/
public static void loadBlockRankTable(final File rankingPath0, final int count0) {
// lazy initialization to save memory during startup phase
rankingPath = rankingPath0;
count = count0;
}
public static void ensureLoaded() {
if (ybrTables != null) return;
ybrTables = new BinSearch[count];
String ybrName;
File f;
Log.logInfo("BlockRank", "loading block rank table from " + rankingPath.toString());
try {
for (int i = 0; i < count; i++) {
ybrName = "YBR-4-" + Digest.encodeHex(i, 2) + ".idx";
f = new File(rankingPath, ybrName);
if (f.exists()) {
ybrTables[i] = new BinSearch(FileUtils.read(f), 6);
} else {
ybrTables[i] = null;
}
}
} catch (final IOException e) {
}
}
public static void storeBlockRankTable(final File rankingPath) {
String ybrName;
File f;
try {
// first delete all old files
for (int i = 0; i < 16; i++) {
ybrName = "YBR-4-" + Digest.encodeHex(i, 2) + ".idx";
f = new File(rankingPath, ybrName);
if (!f.exists()) continue;
if (!f.canWrite()) return;
f.delete();
}
// write new files
for (int i = 0; i < Math.min(12, ybrTables.length); i++) {
ybrName = "YBR-4-" + Digest.encodeHex(i, 2) + ".idx";
f = new File(rankingPath, ybrName);
ybrTables[i].write(f);
}
} catch (final IOException e) {
}
}
/**
* returns the YBR ranking value in a range of 0..15, where 0 means best ranking and 15 means worst ranking
* @param hash
* @return
*/
public static int ranking(final byte[] hash) {
return ranking(hash, ybrTables);
}
public static int ranking(final byte[] hash, final BinSearch[] rankingTable) {
if (rankingTable == null) return 16;
byte[] hosthash;

@ -66,7 +66,6 @@ public class RankingProfile {
public static final String WORDDISTANCE = "worddistance";
public static final String WORDSINTEXT = "wordsintext";
public static final String WORDSINTITLE = "wordsintitle";
public static final String YBR = "ybr";
// post-sort predicates
public static final String URLCOMPINTOPLIST = "urlcompintoplist";
@ -79,7 +78,7 @@ public class RankingProfile {
public static final int COEFF_MAX = 15;
public int
coeff_domlength, coeff_ybr, coeff_date, coeff_wordsintitle, coeff_wordsintext, coeff_phrasesintext,
coeff_domlength, coeff_date, coeff_wordsintitle, coeff_wordsintext, coeff_phrasesintext,
coeff_llocal, coeff_lother, coeff_urllength, coeff_urlcomps, coeff_hitcount,
coeff_posintext, coeff_posofphrase, coeff_posinphrase, coeff_authority, coeff_worddistance,
coeff_appurl, coeff_app_dc_title, coeff_app_dc_creator, coeff_app_dc_subject, coeff_app_dc_description, coeff_appemph,
@ -117,7 +116,6 @@ public class RankingProfile {
this.coeff_worddistance = 10;
this.coeff_wordsintext = 3;
this.coeff_wordsintitle = 2;
this.coeff_ybr = 0;
this.coeff_urlcompintoplist = 2;
this.coeff_descrcompintoplist = 2;
@ -154,7 +152,6 @@ public class RankingProfile {
}
}
this.coeff_domlength = parseMap(coeff, DOMLENGTH, this.coeff_domlength);
this.coeff_ybr = parseMap(coeff, YBR, this.coeff_ybr);
this.coeff_date = parseMap(coeff, DATE, this.coeff_date);
this.coeff_wordsintitle = parseMap(coeff, WORDSINTITLE, this.coeff_wordsintitle);
this.coeff_wordsintext = parseMap(coeff, WORDSINTEXT, this.coeff_wordsintext);
@ -201,7 +198,6 @@ public class RankingProfile {
*/
public void allZero() {
this.coeff_domlength = 0;
this.coeff_ybr = 0;
this.coeff_date = 0;
this.coeff_wordsintitle = 0;
this.coeff_wordsintext = 0;
@ -279,7 +275,6 @@ public class RankingProfile {
ext.put(WORDDISTANCE, Integer.toString(this.coeff_worddistance));
ext.put(WORDSINTEXT, Integer.toString(this.coeff_wordsintext));
ext.put(WORDSINTITLE, Integer.toString(this.coeff_wordsintitle));
ext.put(YBR, Integer.toString(this.coeff_ybr));
} else {
ext.put(prefix + APPEMPH, Integer.toString(this.coeff_appemph));
ext.put(prefix + APPURL, Integer.toString(this.coeff_appurl));
@ -309,7 +304,6 @@ public class RankingProfile {
ext.put(prefix + WORDDISTANCE, Integer.toString(this.coeff_worddistance));
ext.put(prefix + WORDSINTEXT, Integer.toString(this.coeff_wordsintext));
ext.put(prefix + WORDSINTITLE, Integer.toString(this.coeff_wordsintitle));
ext.put(prefix + YBR, Integer.toString(this.coeff_ybr));
}
return ext;
}

@ -230,7 +230,6 @@ public class ReferenceOrder {
final int minminpos = this.min.minposition();
final long r =
((256 - DigestURI.domLengthNormalized(t.urlhash())) << this.ranking.coeff_domlength)
+ ((this.ranking.coeff_ybr > 12) ? ((256 - (BlockRank.ranking(t.urlhash()) << 4)) << this.ranking.coeff_ybr) : 0)
+ ((this.max.urlcomps() == this.min.urlcomps() ) ? 0 : (256 - (((t.urlcomps() - this.min.urlcomps() ) << 8) / (this.max.urlcomps() - this.min.urlcomps()) )) << this.ranking.coeff_urlcomps)
+ ((this.max.urllength() == this.min.urllength() ) ? 0 : (256 - (((t.urllength() - this.min.urllength() ) << 8) / (this.max.urllength() - this.min.urllength()) )) << this.ranking.coeff_urllength)
+ ((maxmaxpos == minminpos) ? 0 : (256 - (((t.minposition() - minminpos) << 8) / (maxmaxpos - minminpos))) << this.ranking.coeff_posintext)
@ -272,7 +271,6 @@ public class ReferenceOrder {
assert this.ranking != null;
final long r =
((256 - DigestURI.domLengthNormalized(t.hash())) << this.ranking.coeff_domlength)
+ ((this.ranking.coeff_ybr > 12) ? ((256 - (BlockRank.ranking(t.hash()) << 4)) << this.ranking.coeff_ybr) : 0)
+ ((256 - (t.urllength() << 8)) << this.ranking.coeff_urllength)
+ (t.virtualAge() << this.ranking.coeff_date)
+ (t.wordsintitle()<< this.ranking.coeff_wordsintitle)

Loading…
Cancel
Save