--------------------------------------------------------------------------- the search and ye shall find tutorial --------------------------------------------------------------------------- introduction --------------------------------------------------------------------------- You don't need a PhD in computer science to use the a LISTSERV archive database; au contraire, it's a pity not to take advantage of it. The new software is easier than ever to use, too! In the next sections, you will find some sample searches of the Opera-L archive. Find one that suits your need and copy & paste it into your mail program. Then edit it for your specific search, send, and voila! You can use your prowess to search any archive on any LISTSERV: just substitute our listname PARKINSN for OPERA-L and change the LISTSERV address, of course. A few basics to keep in mind ---------------------------- 1. The examples following illustrate how to search a LISTSERV archive by e-mail using the SEARCH command and how to request messages of interest from the listserver computer with the GETPOST command. 2. Make certain your search command is a on a single line in a new message with no subject header. The subject header is ignored in by LISTSERV; if your e-mail program requires that you have one, you can type in a single character like "/". 3. Send all search command messages to: [log in to unmask] 4. Capitalization generally does not matter. In the examples, the words of the search language are shown in upper case for clarity only: lowercase works just as well. 5. A more detailed document (not without its own problems) explaining the more advanced searching features, is available directly from the listserver computer. To request it, send this command message: GET LISTDB MEMO 5. If you do trial searches to gain familiarity with the search commands and the results which they produce, you can help keep your LISTSERV system running smoothly (especially for archives of high-volume lists) by limiting the time period so that only a small portion of the archive is searched. --------------------------------------------------------------------------- search examples summary --------------------------------------------------------------------------- SEARCH word IN PARKINSN SEARCH word IN PARKINSN FROM date1 TO date2 SEARCH word IN PARKINSN SINCE date SEARCH word IN PARKINSN UNTIL date SEARCH word IN PARKINSN SINCE TODAY-numberofdays SEARCH * IN PARKINSN WHERE SUBJECT CONTAINS word SEARCH word IN PARKINSN WHERE SENDER CONTAINS name SEARCH word IN PARKINSN WHERE SENDER DOES NOT CONTAIN name SEARCH * IN PARKINSN SINCE date WHERE SENDER CONTAINS name SEARCH * IN PARKINSN SINCE date WHERE SUBJECT CONTAINS word // SEARCH * IN PARKINSN FROM date1 TO date2 WHERE , SUBJECT CONTAINS word AND SENDER CONTAINS name * = "everything" word = search criterion word or part word name = sender name or part name date = search date date1 = first date in search range date2 = last date in search range Note that when you have both a WHERE expression and a time frame, the time expression goes before the WHERE expression. --------------------------------------------------------------------------- search examples detailed --------------------------------------------------------------------------- SEARCH domingo IN PARKINSN This is the basic form of the search command. Changes in the capitalization of any of the words in this example will not affect the results. Note that there are no quotation marks. No dates are specified, so the entire archive is searched. Each post is searched in its entirety, including the sender, subject line and message. SEARCH tosca price IN PARKINSN or SEARCH tosca NEAR price IN PARKINSN Searches for all posts that contain "tosca" in the post near "price". NEAR is the "default operator", thus the two examples above give identical results. [The manual, LISTDB MEMO, incorrectly states that the default operator is AND, when it is in fact NEAR: the two examples above are identical.] For a NEAR search to consider a post to be a match, there must be five or fewer intervening words and the two words can be more than one line distant (the order of the two words, however, is not important). Matches for this example would include cases like "priced", "caprices" and "Toscanini" - the "keyword in context" in the search results should help you decide which posts might be of interest. Note that there are no quote marks. Since no dates are specified in this search, all posts in the archive are searched. SEARCH tosca AND price IN PARKINSN The AND operator must be used if you want posts that have the two words anywhere in the post. SEARCH boehm OR bohm OR bo"hm IN PARKINSN FROM may 96 TO july 96 Searches for all posts with any of these spellings. The OR operator is used when any of your criteria will do. If you mistakenly use AND in this search, it will probably come back with no matches, since no single post will have all the variants. FROM...TO is always used as a pair, with two dates. Time frame includes all of May and all of July. SEARCH 'light baritone' IN opera-L SINCE jan 97 The quote marks mean you want these words to be adjacent in the post. Note that single quote marks ensure a wide search net, catching both "Light baritone" and "light baritones". But a search without the quotes might be better here, as this example misses a post that contains "light-timbred baritones". A SINCE expression takes one date. The search will begin with 1 Jan 97 and end with the latest archived post. SEARCH light NEAR bariton IN opera-L SINCE jan 97 or SEARCH light bariton IN opera-L SINCE jan 97 Probably a better way of handling the previous search. The two forms are identical, since NEAR is the default operator in a search for separate words. Dropping the "e" in "baritone" caught one post that had "light" near the adjective "baritonal". In general use the root or base form of a word: ticket will find ticket, tickets, ticketing, etc. Take into account common misspellings and variants, e.g. traveling or travelling; center or centre. SEARCH 'opera news' IN opera-L SINCE TODAY-15 Finds all posts containing the string "opera news" in the last 15 days: the archive is searched forward, not backward, in time. There can be no spaces on either side of the minus sign. The single quotes ensure that the two words are adjacent yet will find any combination of capitalization: Opera News, opera news, OPERA NEWS, etc. SEARCH 'opera news' IN opera-L UNTIL feb 96 Finds all posts containing the string "opera news" from the earliest archived post through Feb. 1996. Only the first 100 matches (of over 200 in this time frame) are returned. Search again with a FROM...TO.. expression to list those after the first 100. An UNTIL expression takes one date. SEARCH "White" IN opera-L FROM jan 96 TO dec 96 or SEARCH "White" IN opera-L FROM 96 TO 96 Assume you're looking for a name, White, Whiteman, Whiteside, or something similar that you can't quite remember, in all of 1996. The double quote marks means you want an exact match in capitalization. The 131 matches is more manageable than the 487 matches for the same search without quotes (only the first 100 are returned; change the time frame to see others). Note that all of 1996 is covered in these equivalent searches. SEARCH 'ashoka''s dream' IN opera-l If you need an apostrophe inside single quotes, you must double the single-quote mark(s). Note that before the 's' there are two apostrophes. BTW, SEARCH ashoka IN opera-l would really be sufficient for the search in this case. Double quotes inside double quotes must also be doubled. Single quote mark(s) inside double quotes (and vice versa) should not be doubled. Got that? SEARCH * IN opera-L SINCE jan 97 WHERE SENDER CONTAINS rkosovsk Finds all posts that Bob Kosovsky sent since January 1, 1997. The asterisk (*) is used to represent "everything". N.B. the SENDER is the e-mail address of the sender only and does not include the "name" portion that you usually also see in the FROM line. If you need the current e-mail address of someone, you can use the SCAN command with all or part of the name. For example: SCAN OPERA-L pete returned a list of 21 names containing the substring "pete" along with their e-mail addresses. Note: some lists cannot be scanned; this decision rests with the listowner. SEARCH arabella IN opera-L WHERE SENDER CONTAINS jared Searches for all of Jared's posts containing "arabella". (I've posted from more than one address, which is why I did not use my full, current mailing address.) SEARCH arabella IN opera-L WHERE SENDER DOES NOT CONTAIN jared All posts containing "arabella" except for Jared's. Only the first 100 posts are listed. Search with a FROM... TO... date expression to list more. SEARCH * IN opera-L UNTIL may 96 WHERE SUBJECT CONTAINS tosca Finds all posts from the earliest through May 96 where the subject line contains "tosca". Note that * is needed to represent "everything". While there are some 180 posts meeting this criteria, only the first 100 are returned (use a FROM...TO expression to list the others). Note that UNTIL may 96 is the same as UNTIL 31 may 96. UNTIL or SINCE with a month name and no day always includes the whole month in the search. SEARCH * IN opera-L WHERE SUBJECT CONTAINS (tosca OR butterfly) Finds all posts with either word in the subject line. Note that multiple words in the CONTAINS expression must be placed inside parentheses. This CONTAINS expression is equivalent to: ...WHERE SUBJECT CONTAINS tosca OR SUBJECT CONTAINS butterfly SEARCH manon BUT NOT 'manon lescaut' IN opera-L BUT NOT is the same as AND NOT. It is perhaps easier to understand. There are 380 posts compared to the 653 for a search of manon alone (only the first 100 are returned). Beware, however, that there is a price to pay with this technique: you will not catch posts that mention both operas! // SEARCH * in opera-L SINCE mar 97 WHERE SUBJECT CONTAINS tosca and , sender IS [log in to unmask] Finds all posts from [log in to unmask] with tosca in the subject line from March 1, 97 to the present. The IS means that you want an exact match; CONTAINS will generally suffice (see example above). This search command may well be longer than the width setting of your e-mail program, but LISTSERV requires it be on "one line". The solution is to start long commands with // SEARCH (note the obligatory space after the double slash) and end each but the last line with a space and a comma. This ensures that all the text is interpreted as one line. SEARCH tosca IN opera-L.100-210 SEARCH tosca IN opera-L.-20000 SEARCH tosca IN opera-L.20000- This form of SEARCH is useful when you want to search a range of posts by their item # (which you might have, for example, from the results of a previous search). The first example searches post #100 through #210; the second searches from #1 to #20000; and the third from #20000 to the most recent post. The best way to learn is to experiment -------------------------------------- Even when you make a mistake, the error message that LISTSERV sends back explains where you went wrong. For more complex searches and other advanced search features, see the above-mentioned file LISTDB MEMO available from LISTSERV. ---------------------------------------------------------------------------