Monday, November 08, 2010 at 12:04 AM.
system.verbs.builtins.mainResponder.adminSite.website.searchEngineLog
on searchEngineLog (maxitems=200) { <<Changes <<8/1/02; 7:52:20 PM by JES <<Created. local (pta = html.getPageTableAddress ()); pta^.title = "Search Log"; local (colors = {pta^.trbg1, pta^.trbg2}); local (columns = {"Time", "Page", "Hits", "Index", "Client"}); local (colsToAlignRight = {"Hits"}); on renderItemCallback (adritem) { local (itemtext = ""); on add (s) { itemtext = itemtext + (s + "\r");}; on td (s, align="") { if align != "" { align = " align=\"" + align + "\""}; return ("<td" + align + "><font size=\"-1\" class=\"small\">" + s + "</font></td>")}; with adritem^ { add (td (string.replaceAll (string.popLeading (string.nthField (xml.convertToDisplayName (nameOf (adrItem^)), ";", 2), ' '), " ", " ") )); local (link); if defined (adrItem^.url) { link = html.getLink (adrItem^.searchString, adrItem^.url)}; add (td (link)); add (td (adrItem^.hits, "right")); add (td (adrItem^.index)); bundle { //add the member name, if we have it, otherwise do a DNS lookup if defined (member) { local (groupname = config.mainResponder.globals.defaultMembershipGroup); local (link = mainResponder.members.linktomember (groupname, adritem^.member)); add (td (link))} else { local (client = adrItem^.client); try {client = tcp.dns.getDomainName (adrItem^.client)}; add (td (client))}}}; return (itemtext)}; local (ctitems); local (logtext = mainResponder.log.browseAny ("Search Engine", @renderItemCallback, colors, columns, 3, maxitems, colsToAlignRight, @ctitems)); if ctitems { return (logtext)} else { return (logtext + "<p>There are no items to list at this time.</p>")}} <<return (mainResponder.search.server.logBrowser (maxitems, colors, 3, "smallAlignTop", false))
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.