- removed JS from DetailedSearch => valid

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@3151 6c8d7289-2bf4-0310-a012-ef5d649a1542
pull/1/head
karlchenofhell 18 years ago
parent fb1d8b91af
commit df6281ba1f

@ -6,30 +6,7 @@
</head>
<body id="DetailedSearch" onload="document.getElementById('search').focus()">
#%env/templates/header.template%#
<script type="text/javascript">
/* <![CDATA[ */
function checker(name, z1, z2) {
if (z1 == z2) {
document.write("<input type=\"radio\" name=\"" + name + "\" value=\"" + z2 + "\" checked=\"checked\" />");
} else {
document.write("<input type=\"radio\" name=\"" + name + "\" value=\"" + z2 + "\">");
}
}
function checkers(name, n) {
for (i = 0; i < 16; i++) {
checker(name, n, i);
}
document.write(n);
}
function checkerline(descr, tag, dflt) {
document.write("<dt>" + descr + "</dt>");
document.write("<dd>");
checkers(tag, dflt);
document.write("</dd>");
}
/* ]]> */
</script>
<h2>Detailed&nbsp;Search</h2>
<h2>Detailed Search</h2>
#(num-results)#
::
<p><strong>#[linkcount]#</strong> results from <strong>#[orderedcount]#</strong> ordered links from <strong>#[filteredcount]#</strong> filtered links of a total number of <strong>#[totalcount]#</strong> known.</p>
@ -56,40 +33,30 @@
</fieldset>
<fieldset>
<legend>Pre-Ranking</legend>
<dl>
<script type="text/javascript">checkerline("Domain Length", "localdomlength", #[localdomlength]#)</script>
<script type="text/javascript">checkerline("YaCy Block Rank", "localybr", #[localybr]#)</script>
<script type="text/javascript">checkerline("Date", "localdate", #[localdate]#)</script>
<script type="text/javascript">checkerline("Words In Title", "localwordsintitle", #[localwordsintitle]#)</script>
<script type="text/javascript">checkerline("Words In Text", "localwordsintext", #[localwordsintext]#)</script>
<script type="text/javascript">checkerline("Phrases In Text", "localphrasesintext", #[localphrasesintext]#)</script>
<script type="text/javascript">checkerline("Links To Local Domain", "localllocal", #[localllocal]#)</script>
<script type="text/javascript">checkerline("Links To Other Domain", "locallother", #[locallother]#)</script>
<script type="text/javascript">checkerline("URL Length", "localurllength", #[localurllength]#)</script>
<script type="text/javascript">checkerline("URL Components", "localurlcomps", #[localurlcomps]#)</script>
<script type="text/javascript">checkerline("Hit Count", "localhitcount", #[localhitcount]#)</script>
<script type="text/javascript">checkerline("Position In Text", "localposintext", #[localposintext]#)</script>
<script type="text/javascript">checkerline("Position Of Phrase", "localposofphrase", #[localposofphrase]#)</script>
<script type="text/javascript">checkerline("Word Distance", "localworddistance", #[localworddistance]#)</script>
<script type="text/javascript">checkerline("Appearance in URL", "localappurl", #[localappurl]#)</script>
<script type="text/javascript">checkerline("Appearance in Description", "localappdescr", #[localappdescr]#)</script>
<script type="text/javascript">checkerline("Appearance in Author", "localappauthor", #[localappauthor]#)</script>
<script type="text/javascript">checkerline("Appearance in Tags", "localapptags", #[localapptags]#)</script>
<script type="text/javascript">checkerline("Appearance in Reference", "localappref", #[localappref]#)</script>
<script type="text/javascript">checkerline("Appearance in Emphasized Text", "localappemph", #[localappemph]#)</script>
<script type="text/javascript">checkerline("Category Index Page", "localcatindexof", #[localcatindexof]#)</script>
<script type="text/javascript">checkerline("Category Image Appearance", "localcathasimage", #[localcathasimage]#)</script>
<script type="text/javascript">checkerline("Category Audio Appearance", "localcathasaudio", #[localcathasaudio]#)</script>
<script type="text/javascript">checkerline("Category Video Appearance", "localcathasvideo", #[localcathasvideo]#)</script>
<script type="text/javascript">checkerline("Category App. Appearance", "localcathasapp", #[localcathasapp]#)</script>
<dl>#{attrPre}#
<dt><label for="#[nameorg]#">#[name]#</label>:</dt>
<dd id="#[nameorg]#">#{select}#
<input type="radio" name="#[nameorg]#" value="#[value]#"#(checked)#:: checked="checked"#(/checked)# />#{/select}#
#[value]#
</dd>#{/attrPre}#
</dl>
</fieldset>
<fieldset>
<legend>Post-Ranking</legend>
<dl>
<script type="text/javascript">checkerline("URL Component Appears In Toplist", "localurlcompintoplist", #[localurlcompintoplist]#)</script>
<script type="text/javascript">checkerline("Description Comp. Appears In Toplist", "localdescrcompintoplist", #[localdescrcompintoplist]#)</script>
<script type="text/javascript">checkerline("Application Of Prefer Pattern", "localprefer", #[localprefer]#)</script>
<dl>#{attrPost}#
<dt><label for="#[nameorg]#">#[name]#</label></dt>
<dd id="#[nameorg]#">#{select}#
<input type="radio" name="#[nameorg]#" value="#[value]#"#(checked)#:: checked="checked"#(/checked)# />#{/select}#
#[value]#
</dd>#{/attrPost}#
</dl>
</fieldset>
<fieldset>
@ -130,4 +97,4 @@
#%env/templates/footer.template%#
</body>
</html>
</html>

@ -47,7 +47,10 @@
// javac -classpath .:../classes index.java
// if the shell's current path is HTROOT
import java.util.HashMap;
import java.util.Iterator;
import java.util.TreeSet;
import java.util.Map;
import de.anomic.http.httpHeader;
import de.anomic.kelondro.kelondroMSetTools;
@ -62,6 +65,40 @@ import de.anomic.yacy.yacyCore;
import de.anomic.tools.crypt;
public class DetailedSearch {
private static final int maxRankingRange = 16;
private static final HashMap rankingParameters = new HashMap();
static {
rankingParameters.put(plasmaSearchRankingProfile.APPAUTHOR, "Appearance In Author");
rankingParameters.put(plasmaSearchRankingProfile.APPDESCR, "Appearance In Description");
rankingParameters.put(plasmaSearchRankingProfile.APPEMPH, "Appearance In Emphasized Text");
rankingParameters.put(plasmaSearchRankingProfile.APPREF, "Appearance In Reference");
rankingParameters.put(plasmaSearchRankingProfile.APPTAGS, "Appearance In Tags");
rankingParameters.put(plasmaSearchRankingProfile.APPURL, "Appearance In URL");
rankingParameters.put(plasmaSearchRankingProfile.CATHASAPP, "Category App, Appearance");
rankingParameters.put(plasmaSearchRankingProfile.CATHASAUDIO, "Category Audio Appearance");
rankingParameters.put(plasmaSearchRankingProfile.CATHASIMAGE, "Category Image Appearance");
rankingParameters.put(plasmaSearchRankingProfile.CATHASVIDEO, "Category Video Appearance");
rankingParameters.put(plasmaSearchRankingProfile.CATINDEXOF, "Category Index Page");
rankingParameters.put(plasmaSearchRankingProfile.DATE, "Date");
rankingParameters.put(plasmaSearchRankingProfile.DESCRCOMPINTOPLIST, "Description Comp. Appears In Toplist");
rankingParameters.put(plasmaSearchRankingProfile.DOMLENGTH, "Domain Length");
rankingParameters.put(plasmaSearchRankingProfile.HITCOUNT, "Hit Count");
rankingParameters.put(plasmaSearchRankingProfile.LLOCAL, "Links To Local Domain");
rankingParameters.put(plasmaSearchRankingProfile.LOTHER, "Links To Other Domain");
rankingParameters.put(plasmaSearchRankingProfile.PHRASESINTEXT, "Phrases In Text");
rankingParameters.put(plasmaSearchRankingProfile.POSINTEXT, "Position In Text");
rankingParameters.put(plasmaSearchRankingProfile.POSOFPHRASE, "Position Of Phrase");
rankingParameters.put(plasmaSearchRankingProfile.PREFER, "Application Of Prefer Pattern");
rankingParameters.put(plasmaSearchRankingProfile.URLCOMPINTOPLIST, "URL Component Appears In Toplist");
rankingParameters.put(plasmaSearchRankingProfile.URLCOMPS, "URL Components");
rankingParameters.put(plasmaSearchRankingProfile.URLLENGTH, "URL Length");
rankingParameters.put(plasmaSearchRankingProfile.WORDDISTANCE, "Word Distance");
rankingParameters.put(plasmaSearchRankingProfile.WORDSINTEXT, "Words In Text");
rankingParameters.put(plasmaSearchRankingProfile.WORDSINTITLE, "Words In Title");
rankingParameters.put(plasmaSearchRankingProfile.YBR, "YaCy Block Rank");
}
private static serverObjects defaultValues() {
final serverObjects prop = new serverObjects();
@ -82,6 +119,37 @@ public class DetailedSearch {
return prop;
}
private static void putRanking(serverObjects prop, plasmaSearchRankingProfile rankingProfile, String prefix) {
putRanking(prop, rankingProfile.preToExternalMap(prefix), prefix, "Pre");
putRanking(prop, rankingProfile.postToExternalMap(prefix), prefix, "Post");
}
private static void putRanking(serverObjects prop, Map ranking, String prefix, String attrExtension) {
prop.put("attr" + attrExtension, ranking.size());
Iterator it = ranking.keySet().iterator();
String key;
int i, j = 0;
while (it.hasNext()) {
key = (String)it.next();
prop.put("attr" + attrExtension + "_" + j + "_name", rankingParameters.get(key.substring(prefix.length())));
prop.put("attr" + attrExtension + "_" + j + "_nameorg", key);
prop.put("attr" + attrExtension + "_" + j + "_select", maxRankingRange);
for (i=0; i<maxRankingRange; i++) {
prop.put("attr" + attrExtension + "_" + j + "_select_" + i + "_nameorg", key);
prop.put("attr" + attrExtension + "_" + j + "_select_" + i + "_value", i);
try {
prop.put("attr" + attrExtension + "_" + j + "_select_" + i + "_checked",
(i == Integer.valueOf((String)ranking.get(key)).intValue()) ? 1 : 0);
} catch (NumberFormatException e) {
prop.put("attr" + attrExtension + "_" + j + "_select_" + i + "_checked", 0);
}
}
prop.put("attr" + attrExtension + "_" + j + "_value",
Integer.valueOf((String)ranking.get(key)).intValue());
j++;
}
}
public static serverObjects respond(httpHeader header, serverObjects post, serverSwitch env) {
final plasmaSwitchboard sb = (plasmaSwitchboard) env;
@ -90,7 +158,8 @@ public class DetailedSearch {
// we create empty entries for template strings
final serverObjects prop = defaultValues();
plasmaSearchRankingProfile ranking = (sb.getConfig("rankingProfile", "").length() == 0) ? new plasmaSearchRankingProfile("text") : new plasmaSearchRankingProfile("", crypt.simpleDecode(sb.getConfig("rankingProfile", ""), null));
prop.putAll(ranking.toExternalMap("local"));
//prop.putAll(ranking.toExternalMap("local"));
putRanking(prop, ranking, "local");
return prop;
}
@ -98,7 +167,8 @@ public class DetailedSearch {
plasmaSearchRankingProfile ranking = new plasmaSearchRankingProfile("local", post.toString());
sb.setConfig("rankingProfile", crypt.simpleEncode(ranking.toExternalString()));
final serverObjects prop = defaultValues();
prop.putAll(ranking.toExternalMap("local"));
//prop.putAll(ranking.toExternalMap("local"));
putRanking(prop, ranking, "local");
return prop;
}
@ -106,7 +176,8 @@ public class DetailedSearch {
sb.setConfig("rankingProfile", "");
plasmaSearchRankingProfile ranking = new plasmaSearchRankingProfile("text");
final serverObjects prop = defaultValues();
prop.putAll(ranking.toExternalMap("local"));
//prop.putAll(ranking.toExternalMap("local"));
putRanking(prop, ranking, "local");
return prop;
}

@ -191,6 +191,12 @@ public class plasmaSearchRankingProfile {
}
public Map toExternalMap(String prefix) {
Map ext = preToExternalMap(prefix);
ext.putAll(postToExternalMap(prefix));
return ext;
}
public Map preToExternalMap(String prefix) {
Map ext = new HashMap();
ext.put(prefix + DOMLENGTH, Integer.toString(coeff_domlength));
ext.put(prefix + YBR, Integer.toString(coeff_ybr));
@ -217,6 +223,11 @@ public class plasmaSearchRankingProfile {
ext.put(prefix + CATHASAUDIO, Integer.toString(coeff_cathasaudio));
ext.put(prefix + CATHASVIDEO, Integer.toString(coeff_cathasvideo));
ext.put(prefix + CATHASAPP, Integer.toString(coeff_cathasapp));
return ext;
}
public Map postToExternalMap(String prefix) {
Map ext = new HashMap();
ext.put(prefix + URLCOMPINTOPLIST, Integer.toString(coeff_urlcompintoplist));
ext.put(prefix + DESCRCOMPINTOPLIST, Integer.toString(coeff_descrcompintoplist));
ext.put(prefix + PREFER, Integer.toString(coeff_prefer));

Loading…
Cancel
Save