Search Overview
The majority of this viewer application could have been implemented using most any web browser along with some dynamic HTML and complex JavaScript. While casual browsing page by page, or the ability to manually select a given issue/page is a necessity, more often the user will know "what" they want to look for but will not know if and in which specific magazine issue(s) the topic of interest resides. What is required is a search engine, something able to very quickly match user keywords against all magazine pages which may contain those keys. The power of Java in application form was used to implement such an engine.

The search engine contained within this Beer Magazine Viewer is my own custom written Java engine since companies such as Google, Ebay, etc don't provide their core algorithms in the public domain. While full details won't be discussed here, all possible relevant search keys are preprocessed into two-tiered binary, dynamic access hash files, allowing for almost instant locating of a given keyword as well as various modifiers for the given key (e.g. is the key in title of an article or author of a story). This also satisifes a requirement to read minimal amount of key data into memory. The search interface allows the user to type in one or more partial keys, and if any matches of both the key word(s) and selected criteria, a dynamic list of all magazines and page numbers will be displayed.

The Search Window



The search window contains a standard "text box" in which user can enter one or more keyword/patterns for which to search. In addition, there are numerous additional criteria that can be clicked/selected to help refine the search. Finally, there is a combo box in the buttons bar of which can be further refined to a specific magazine (default is show results in "All Magazines".

Any matching results will be displayed one-per line, with details of where found. Simply click on the blue page number links to jump to tha page, button to jump back to next row in the list. Instead of point, click, backspace repeatedly, after first point/click, just hit the <Spacebar> to cycle page/search, moving up/down the list.

BMV 4.0 added the "Show Page Thumbnails" button to display thumbnail images for the list/search items. It might be more interesting to view the results pictorially versus list.

Search Usage / Features
Under the main menu bar, choose "View -> Search / Results" to present both the search interface as well as any recently found search results. If there are any previous results, they will be displayed one per line, with dynamic link to the given magazine/page in which the keyword(s) were found. Simply click on any given page number and the viewer will display the magazine page in which the match was found.

Usage is as simple as typing one or more partial keywords in the "Search:" text box and hitting the <Enter> key. Any matches will be displayed one per line, if no matches an appropriate message displayed. Click on a page number to view. While the default is to search across all magazines, if you want to limit your search to a specific type, choose one of the magazine names from the drop down list.

There are a number of "filters" to help better qualify your search. Recommendation is to start with the default settings and then refine your search based on quantity of results.

When typing in search keys the following rules apply:
  • All punctuation is automatically removed. Thus, the text "E&B" is equivalent to "EB"

  • All plural "s" endings are automatically removed. Thus, the keys "krueger's", "kruegers", and "krueger" are all equivalent.

  • All keys are case insensitive. It doesn't matter whether you type "KRUE" or "Krue"
What The Search Engine "Doesn't Do"
As mentioned above, this search engine was custom written, and specifically for the Beer Magazine Viewer, by just one developer, Randy Karasek. This is NOT as highly elaborate a search engine as you will find behind Google or Ebay, written by their large teams of highly paid software engineers. As such, there are a few "limitations" you should be aware of when searching:
  • There isn't any "Do you really mean XYZ..."

    With Google you can misspell a given word(s) and their search engine applies elaborate "best match" heuristics to help identify correct alternate spellings. For example, if you type "Kreugar" instead of the correct "Krueger", Google's search is likely to ask if you really meant the later. Fortunately, most beer can collectors are fairly smart and if they know enough to be searching for something like "eigenbrots" assumption is they can at least type "ei" or "eig"!

  • No matching of words such as "beer", "ale", ...

    That is unless these words appear in the title of an article or name of an author. There are simply too many complications to program absolute searching of syntax "ABC beer 12oz flat top". Take a look at some of your beer magazines and you will find mix of entries/pictures for beer, ale, stout, lager, all on the same page. Also, for many cases, the text does not fully identify whether beer, ale or such, and usually does not specify the contents size, rarely whether flat/zip/tab, and many cases there are numerous content sizes for the same keyword. So, don't specify words like "beer", "ale" as keywords unless sure they are in an article name, and don't type in words such as content size.

  • No "highlighting" of the matching text

    That would be a nice feature, I have seen some modern search tools show the matching "text" with say yellow highlight, so immediately obvious where is the text. Extermely complex to implement that highlight of areas within JPG digital images.
With the above "limitations" aside, the provided search engine does do a pretty damn good job, is very fast, and has a good number of filters. And if you really don't like it, you can always resort back to flipping pages by hand...