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 (Foreign 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 (Duplicate 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’.