Monday, November 08, 2010 at 12:04 AM.
system.verbs.builtins.mainResponder.search.server.addToHotPages
on addToHotPages (indexName=nil) {
<<This script adds the page the user's going to to the hot pages list.
<<The hot pages list tracks where people go for a given search string. Pages that are popular for a given search string get a higher relevancy ranking.
local (pta = html.getPageTableAddress ());
local (indexPath = mainResponder.search.utilities.getIndexPath (indexName));
local (adrHotPages = @[indexPath].hotPages);
if not defined (adrHotPages^) {
new (tableType, adrHotPages)};
local (searchString = pta^.displaySearchString);
local (argTable);
new (tableType, @argTable);
webserver.parseArgs (pta^.searchArgs, @argTable);
local (adrPageTable = html.getPageTableAddress ());
local (url = argTable.url);
local (adrTable = @adrHotPages^.[searchString]);
if not defined (adrTable^) {
new (tableType, adrTable)};
local (adrHitCount = @adrTable^.[url]);
if not defined (adrHitCount^) {
adrHitCount^ = 1}
else {
adrHitCount^++};
<<Sort the hot pages list. Sort now so we don't have to sort during a search.
local (oldTarget = target.set (adrTable));
target.set (adrTable);
table.sortBy ("Value");
try {target.set (oldTarget)};
return ("")}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.