This page show a previous version of the article

How to Search for Text uses Sphinx Search

These instructions tell you how to use the search bar at the top of every Tatoeba page. Our search works much like a search engine such as Google, but has some important differences.

  • To find English sentences with "live", "lives", "living" or "lived", search for the word "live". (This will also find sentences with "Live", "Living", etc., since capitalization is ignored.)

  • To match a word exactly (ignoring capitalization), put an equals sign (=) before it.

  • Put a $ after a word to find sentences ending with that word. The example finds English sentences ending with "Tom".

  • Put a ^ before a word to find sentences beginning with that word. The example finds English sentences beginning with "Tom".

  • This example finds English sentences beginning with "Tom" and ending with "Mary".

  • This example finds English sentences beginning with either "Tom" or "He".

  • To search for a phrase, put quotes (") around it. Put an equals sign in front of each word that you want to be matched exactly.

    • If you want to see phrases like "live in Boston", "living in Boston", or "lives in Boston", use the following search:

    • The following search will only find sentences with the exact phrase "live in Boston".

    • This search will only find sentences consisting of the exact words "I live in Boston" with no other content.

  • Use a minus sign (-) to mean "no" (to find sentences without certain words). The following search will find sentences with "cheek" (in any form: cheeks, etc.) that don't include any of the words preceded by a minus sign (-).

  • Use a star (*) to indicate a string of zero or more characters that you don't care about matching exactly. There must be at least three characters preceding the star, and no characters following it. The following search will find sentences with words that begin with "break", such as "breaks" and "breakfast". It will also look for sentences that contain the word "break" itself.

  • Leave punctuation out of your search string. Most punctuation will be ignored, but a final exclamation mark will actually interfere with the search.

    • The following yields no results:

    • but this search will find How strange! among other results:

Languages without word boundaries

For languages that don't use space characters to separate words, like Japanese, Chinese etc. the search engine interprets each character as a single word. For instance, searching for 逆に will return the same results as 逆 に, which actually matches sentences that only include these characters, but not necessarily in that particular order, or not contiguously. So you want to surround keywords with quotes: "逆に".

More Details

The search ignores capitalization and punctuation (unless the punctuation happens to match one of the special characters described elsewhere on the page). An apostrophe within a word is not treated as punctuation, so you can find such words as "don't" by including them in an ordinary search string.

In some languages, including English, the search engine stems the search words by default. This means that it removes certain trailing sequences from both search words and indexed words. Thus a search for live will also find lived and living.

The languages in which the search engine stems words are: German, English, Finnish, French, Italian, Dutch, Portuguese, Russian, Spanish, Swedish and Turkish.

If you want to find an exact match for a word, you must precede it with an equals sign, as in =live. This may come as a surprise to users who are accustomed to Google Search, where wrapping a word or phrase in double quotes forces an exact match. In Sphinx, double quotes have a different function, which only affects multiword (phrase) searches: wrapping a phrase in double quotes requires matching sentences to contain words in the specified continuous sequence. Simply placing a phrase in quotes does not suppress stemming of its individual words. To do that, you will need to place an equals sign before each word in the phrase for which you want to suppress stemming.

As an example, take the search like thing. This will find like things, likely things, and even things like. Adding quotes, as in "like thing", will prevent a match against things like (where the words appear in the wrong order), but it will continue to match like things, likely things, and so on. By contrast, "=like =thing" will only match like thing (which does not occur in the Tatoeba corpus). Removing the double quotes, =like =thing, will match What made you do a silly thing like that? Removing one of the equals signs, as in like =thing, will find Such a strange thing is not likely to happen.

Other search operators

  • A vertical bar (representing "or") finds examples where either of the words appears:

    • hate | detest will match sentences with either hate or detest (or both).
  • If you want to combine an or-expression with other terms, you need to put the or-expression in parentheses:

    • (red|blue) house will match sentences in which the word "house" appears together with either "red" or "blue" (or both)
  • A dash (or exclamation point) before a word prevents matches with sentences where the word appears: like -thing (or like !thing) will match I like ice cream but not I like that red thing.

  • Putting a caret (^) before a word will match only sentences that begin with that word: ^great will match Great people are not always wise. but not You are the great love of my life.

  • Putting a dollar sign ($) after a word will match only sentences that end with that word: life$ will match This is the best day of my life. but not Life means nothing without friends.

  • If you want to search for sentences that contain nothing other than the specified words, use double quotes, a caret, and a dollar sign in combination: "^i love you$" will find I love you. and I love you! but not I love you more than you love me. (However, it will find I loved you. To prevent this match, use "^i =love you$".)

See the Sphinx documentation for other functionality. Note that the documentation mentions keywords pertaining to specific fields in a document, but these are not relevant to Tatoeba.