The overly complex form

Current database

This affects just about everything else, including these instructions. The name is a link to the home page of the comic.

Instructions

This is how you got here.

Chapter list

A convenience function that gives you a hyperlinked hierarchical chapter list. The chapter structure may differ from whatever the comic uses.

Attribute list

This gives you a list of any special attributes defined by the current database.

Query text

A full query expression when searching for comic installments, or just a phrase when searching for characters.

Diacritically challenged

Check this and the database ignores accents. ('u', 'ù', 'ú', 'û', and 'ü' will all be considered the same character, etc.)

Start and stop

These chapter selectors can be used to limit the text search to a specific range.

Reverse order

Check this to get results listed backwards.

Select another database

Since the start and stop selectors are specific to each database, the form has to be regenerated, which is why you have to click a button to switch to another database.

Text queries

The result of a text search is a list of links to installments that match the query expression.

Phrases

The simplest type of query is just a phrase of one or more words.
Example: destroyed forever will find the culmination of the X-TREEEM MUG saga.

You can use an asterisk as a wildcard matching 0 or more non-blank characters.
Example: ha*nky* pa*nky* will find plain "hanky panky" as well as Joyce's anguished "HAAAAANKYYY PAANKYY" in the infamous porno torture scene.

Exception 1: an asterisk occurring on its own matches 1 or more non-blank characters, i.e. an entire word.

Exception 2: two asterisks occurring on their own match 0 or more entire words.

Origins

If you're looking for a particular character saying something, put the name and a colon before the phrase.
Example: Sal : I will find the one time Sal said "I" rather than "Ah".

Note that the spaces around the colon are required for reasons that will soon be apparent.

The name is actually a phrase pattern that must match the entire character name (or alias).
Example: * Walters : no will find either Sal or one of her parents being negative.

Sometimes two or more characters share a speech bubble; the secret database knows all about this. Simply connect the names with a plus.
Example: Danny + Billie : do not will find our favourite couple protesting that they don't sound like one.

When you've forgotten just who said something, you can specify several alternative characters as a comma-separated list.
Example: Danny , Billie : sex will show that these two aren't really all that obsessed with it.

If you're interested in some particular kind of text, you can append a mode indicator to the colon.
Example: Joyce :g back alright will find Joyce singing along with the BSB.

These mode indicators are used:

It gets worse: you can also prepend a presence indicator to the colon:
Example: ESG 2: everything will find a certain video phone conversation between the Head Alien and the Evil Silhouette Guy.

These presence indicators are used:

You can combine the two to specify both a presence and a mode.
Example: Danny 2:s life on campus will find the flashback version of Danny's and Sal's phone conversation.

Once your query includes a colon, the parts on either side become optional.
A somewhat useful example: Joyce + Walky :g will find Joyce and Walky singing together, no matter which song.

Attributes

Special attributes can be specified before the query with a left bracket, an attribute name, an equals sign, an attribute value, and a right bracket.
Example: [panel=1] bye will find someone leaving early (if the selected datbase defines panel numbers).

Connections

No search engine is complete without compound queries, so here is how you do them in this one: exclamation for negation ("not"), ampersand for conjunction ("and"), vertical bar for disjunction ("or"), and parentheses to get around the usual precedence rules.
Example: Danny p: & ! :s will find all strips where Danny is present but nobody speaks.

Character queries

The result of a character search is a table of characters whose names match the query phrase.
Example: D* W* will find all characters who have the same initials as the cartoonist.

Searching for the phrase ** gives you a list of all characters (including internal placeholders).

Minutiae

The boring details: