Blog About About Threepress Help

Full-text search in Bookworm

Sign in

Bookworm's full-text search allows you to find words across all of your ePubs. You can search in multiple languages, and use advanced phrase searching and boolean operators similar to those supported by Google.

Bookworm uses MySQL full-text search

MySQL search supports boolean operators and phrase searching. It will index content in most languages, but doesn't support stemming.

Prior to January 2008, Bookworm used Xapian, a free, open-source search engine. Xapian is an excellent product, but it requires a separate search index. This added enough maintenance overhead to make the simpler MySQL approach more desirable.

Phrase searching

Like Google, if you want to restrict your search to only a particular phrase (e.g. books containing the phrase "White House" vs. those including just "white" and "house" separately), then enclose them in quotation marks.

Case-sensitivity

All searches are case-insensitive. This means that "White" will find "white" or "WHITE".

Boolean operators

Like Google, the default boolean operator is AND, meaning that in a multi-word search, all of the words must appear to produce a result. Bookworm does this by automatically appending a '+' character to all your search terms. You can change this behavior by appending plus or minus signs to terms in your search, or including quotation marks, which overrides the default.

  • white house — Both terms are required (like Google).
  • +white +house — Same as above.
  • "white" "house" — Find ePubs with either word
  • "white house" — Find the exact phrase
  • white -house — This is a good way to find ePubs that don't contain the phrase "White House" but do contain the word "white"

Ordering

Results are returned in relevance order. Relevance is how likely it is that a given result is what you were looking for. The algorithms used to determine relevance are complex and results aren't always as intuitive as those in a massive commercial search engine like Google.

Simply put, ePubs with more occurrences of your search terms will appear higher in the results.

Indexing

Every few minutes, Bookworm checks to see if new ePubs have been added. If it finds new books, it indexes all of their words and adds them to your personal search library. (It's not possible to search books that are only in other people's libraries.)

This means a book you've just added might not show up in the search immediately. Be patient; it'll be there soon.