- enhancement to kml search

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@6867 6c8d7289-2bf4-0310-a012-ef5d649a1542
This commit is contained in:
orbiter 2010-05-11 23:06:39 +00:00
parent 586bc4d920
commit 4cd56d3966
5 changed files with 24 additions and 32 deletions

View File

@ -126,12 +126,12 @@ public class index {
prop.put("searchdomswitches_searchvideo", sb.getConfigBool("search.video", true) ? 1 : 0);
prop.put("searchdomswitches_searchimage", sb.getConfigBool("search.image", true) ? 1 : 0);
prop.put("searchdomswitches_searchapp", sb.getConfigBool("search.app", true) ? 1 : 0);
prop.put("searchdomswitches_searchtext_check", (contentdom == ContentDomain.TEXT) ? "1" : "0");
prop.put("searchdomswitches_searchaudio_check", (contentdom == ContentDomain.AUDIO) ? "1" : "0");
prop.put("searchdomswitches_searchvideo_check", (contentdom == ContentDomain.VIDEO) ? "1" : "0");
prop.put("searchdomswitches_searchimage_check", (contentdom == ContentDomain.IMAGE) ? "1" : "0");
prop.put("searchdomswitches_searchapp_check", (contentdom == ContentDomain.APP) ? "1" : "0");
prop.put("searchoptions_display", display);
prop.put("searchtext_check", (contentdom == ContentDomain.TEXT) ? "1" : "0");
prop.put("searchaudio_check", (contentdom == ContentDomain.AUDIO) ? "1" : "0");
prop.put("searchvideo_check", (contentdom == ContentDomain.VIDEO) ? "1" : "0");
prop.put("searchimage_check", (contentdom == ContentDomain.IMAGE) ? "1" : "0");
prop.put("searchapp_check", (contentdom == ContentDomain.APP) ? "1" : "0");
// online caution timing
sb.localSearchLastAccess = System.currentTimeMillis();

View File

@ -580,9 +580,9 @@ public class yacysearch {
try {
synchronized (trackerHandles) {
trackerHandles.add(theQuery.handle);
if (trackerHandles.size() > 1000) trackerHandles.remove(trackerHandles.first());
sb.localSearchTracker.put(client, trackerHandles);
while (trackerHandles.size() > 600) if (!trackerHandles.remove(trackerHandles.first())) break;
}
sb.localSearchTracker.put(client, trackerHandles);
if (sb.localSearchTracker.size() > 1000) sb.localSearchTracker.remove(sb.localSearchTracker.keys().nextElement());
} catch (Exception e) {
Log.logException(e);
@ -691,11 +691,11 @@ public class yacysearch {
prop.put("searchdomswitches_searchvideo", sb.getConfigBool("search.video", true) ? 1 : 0);
prop.put("searchdomswitches_searchimage", sb.getConfigBool("search.image", true) ? 1 : 0);
prop.put("searchdomswitches_searchapp", sb.getConfigBool("search.app", true) ? 1 : 0);
prop.put("searchtext_check", (contentdom == ContentDomain.TEXT) ? "1" : "0");
prop.put("searchaudio_check", (contentdom == ContentDomain.AUDIO) ? "1" : "0");
prop.put("searchvideo_check", (contentdom == ContentDomain.VIDEO) ? "1" : "0");
prop.put("searchimage_check", (contentdom == ContentDomain.IMAGE) ? "1" : "0");
prop.put("searchapp_check", (contentdom == ContentDomain.APP) ? "1" : "0");
prop.put("searchdomswitches_searchtext_check", (contentdom == ContentDomain.TEXT) ? "1" : "0");
prop.put("searchdomswitches_searchaudio_check", (contentdom == ContentDomain.AUDIO) ? "1" : "0");
prop.put("searchdomswitches_searchvideo_check", (contentdom == ContentDomain.VIDEO) ? "1" : "0");
prop.put("searchdomswitches_searchimage_check", (contentdom == ContentDomain.IMAGE) ? "1" : "0");
prop.put("searchdomswitches_searchapp_check", (contentdom == ContentDomain.APP) ? "1" : "0");
// for RSS: don't HTML encode some elements
prop.putXML("rss_query", originalquerystring);

View File

@ -62,11 +62,12 @@ public class yacysearch_location {
for (String s: message.getSubject()) subject += " " + s;
words += subject;
for (String word: words.split(" ")) if (word.length() >= 3) locations.addAll(LibraryProvider.geoDB.find(word, true, true, false, false, false));
String locnames = "";
for (Location location: locations) locnames += ", " + location.getName();
if (locations.size() > 0) locnames = locnames.substring(2);
if (locations.size() > 0) {
String locnames = "";
for (Location location: locations) locnames += ", " + location.getName();
locnames = locnames.substring(2);
for (Location location: locations) {
// write for all locations a point to this message
prop.put("kml_placemark_" + placemarkCounter + "_location", locnames);
prop.put("kml_placemark_" + placemarkCounter + "_name", message.getTitle());
@ -76,14 +77,9 @@ public class yacysearch_location {
prop.put("kml_placemark_" + placemarkCounter + "_description", message.getDescription());
prop.put("kml_placemark_" + placemarkCounter + "_date", message.getPubDate());
prop.put("kml_placemark_" + placemarkCounter + "_url", message.getLink());
int pc = 0;
for (Location location: locations) {
prop.put("kml_placemark_" + placemarkCounter + "_point_" + pc + "_name", location.getName());
prop.put("kml_placemark_" + placemarkCounter + "_point_" + pc + "_lon", location.lon());
prop.put("kml_placemark_" + placemarkCounter + "_point_" + pc + "_lat", location.lat());
pc++;
}
prop.put("kml_placemark_" + placemarkCounter + "_point", pc);
prop.put("kml_placemark_" + placemarkCounter + "_pointname", location.getName());
prop.put("kml_placemark_" + placemarkCounter + "_lon", location.lon());
prop.put("kml_placemark_" + placemarkCounter + "_lat", location.lat());
placemarkCounter++;
if (placemarkCounter >= maximumRecords) break loop;
}

View File

@ -3,14 +3,12 @@
<Document>
#{placemark}#
<Placemark>
<name>#[name]#</name>
<name><![CDATA[#[name]#]]></name>
<description><![CDATA[<p>Location: #[location]#</p><p>Author: #[author]#</p><p>Publisher: #[copyright]#</p><p>Subject: #[subject]#</p><p>Abstract: #[description]#</p><p>Source: <a href="#[url]#">#[url]#</a></p>]]></description>
#{point}#
<Point>
<name>#[name]#</name>
<name>#[pointname]#</name>
<coordinates>#[lon]#,#[lat]#</coordinates>
</Point>
#{/point}#
<TimeStamp>
<when>#[date]#</when>
</TimeStamp>

View File

@ -3,14 +3,12 @@
<Document>
#{placemark}#
<Placemark>
<name>#[name]#</name>
<name><![CDATA[#[name]#]]></name>
<description><![CDATA[<p>Location: #[location]#</p><p>Author: #[author]#</p><p>Publisher: #[copyright]#</p><p>Subject: #[subject]#</p><p>Abstract: #[description]#</p><p>Source: <a href="#[url]#">#[url]#</a></p>]]></description>
#{point}#
<Point>
<name>#[name]#</name>
<name>#[pointname]#</name>
<coordinates>#[lon]#,#[lat]#</coordinates>
</Point>
#{/point}#
<TimeStamp>
<when>#[date]#</when>
</TimeStamp>