gnus: Web Searches

 
 6.5.2 Web Searches
 ------------------
 
 It’s, like, too neat to search the Usenet for articles that match a
 string, but it, like, totally _sucks_, like, totally, to use one of
 those, like, Web browsers, and you, like, have to, rilly, like, look at
 the commercials, so, like, with Gnus you can do _rad_, rilly, searches
 without having to use a browser.
 
    The ‘nnweb’ back end allows an easy interface to the mighty search
 engine.  You create an ‘nnweb’ group, enter a search pattern, and then
 enter the group and read the articles like you would any normal group.
 The ‘G w’ command in the group buffer (SeeForeign Groups) will do
 this in an easy-to-use fashion.
 
    ‘nnweb’ groups don’t really lend themselves to being solid
 groups—they have a very fleeting idea of article numbers.  In fact, each
 time you enter an ‘nnweb’ group (not even changing the search pattern),
 you are likely to get the articles ordered in a different manner.  Not
 even using duplicate suppression (SeeDuplicate Suppression) will
 help, since ‘nnweb’ doesn’t even know the ‘Message-ID’ of the articles
 before reading them using some search engines (Google, for instance).
 The only possible way to keep track of which articles you’ve read is by
 scoring on the ‘Date’ header—mark all articles posted before the last
 date you read the group as read.
 
    If the search engine changes its output substantially, ‘nnweb’ won’t
 be able to parse it and will fail.  One could hardly fault the Web
 providers if they were to do this—their _raison d’être_ is to make money
 off of advertisements, not to provide services to the community.  Since
 ‘nnweb’ washes the ads off all the articles, one might think that the
 providers might be somewhat miffed.  We’ll see.
 
    Virtual server variables:
 
 ‘nnweb-type’
      What search engine type is being used.  The currently supported
      types are ‘google’, ‘dejanews’, and ‘gmane’.  Note that ‘dejanews’
      is an alias to ‘google’.
 
 ‘nnweb-search’
      The search string to feed to the search engine.
 
 ‘nnweb-max-hits’
      Advisory maximum number of hits per search to display.  The default
      is 999.
 
 ‘nnweb-type-definition’
      Type-to-definition alist.  This alist says what ‘nnweb’ should do
      with the various search engine types.  The following elements must
      be present:
 
      ‘article’
           Function to decode the article and provide something that Gnus
           understands.
 
      ‘map’
           Function to create an article number to message header and URL
           alist.
 
      ‘search’
           Function to send the search string to the search engine.
 
      ‘address’
           The address the aforementioned function should send the search
           string to.
 
      ‘id’
           Format string URL to fetch an article by ‘Message-ID’.