FoxTrot Professional Search

An introduction to FoxTrot

CTM FoxTrot search products share the belief that less is more: fewer search results can mean greater relevance and satisfaction. Precision searching means first returning searches that match exactly your search terms, then enabling you you to "zero in" on the documents you need,

There are three typical steps in using FoxTrot:

1. Build a search index for the specific folders containing your data only. Remember that less data indexed means higher satisfaction; avoid indexing entire hard disks since these will contain tens of thousands of irrelevant non-document files (system, library and application files).

2. Enter precise search terms for the query: unlike tools such as Spotlight, which treat your initial typing as an approximate query, FoxTrot will look for exactly what you typed, unless you explicitly use wildcard characters

3. Refine the list of found items using categorization: Instead of first defining the exact criteria for the searched document (with the risk of overloading the query with irrelevantcriteriathat have no matches) FoxTrot will present both a list of all matching hits, and a set of selectable categories to narrow down the list to a manageable quantity.

Gettting started

Do not attempt to launch directly from the disk image -copy the FoxTrot application from the disk image into your Applications folder. Upon first launching FoxTrot Professional Search, you will be prompted to get started by indexingonefolder. For instant gratification, choose a moderately-sized folder containing PDF, HTML, Word or text files that contain keywords you are familiar with.

FoxTrot will comb through the folder and its sub-folders seeking eligible files to index, and will show progress in building your first index. When done with the first indexing process, you will be able to go on to searching.

Which locations do I need for my index to include e-mail messages and attachments, Address Book, iCal events, Safari Bookmarks and other metadata ?

We recommend adding at least the following folders to the data to be indexed:

CTM PowerMail:/Users/MyUserName/Mail/PowerMail\ Files

Apple Mail:/Users/MyUserName/Library/Mail and/Users/MyUserName/Library/Mail Downloads

Apple Address Book:/Users/MyUserName/Library/Application Support/AddressBook/Metadata




FoxTrot Professional Search main window

FoxTrot Professional Search main window

Document preview & secondary searches

In addition to Previewing or Quick Looking (10.5+) a document, FoxtTrot Professional provides a complete environment for reading documents in stand-alone windows, complete with a secondary search ability to hilight a distinct set of words.

For documents containing a table of contents, FoxTrot Professional will count and hilight results as found under each chapter.

Preview pane

Preview pane

RTF preview in window

RTF preview in window

Secondary searches

Secondary searches

Client access to FoxTrot servers

Beyond searching your own machine, FoxTrot Professional will let you connect to both dedicated FoxTrot Enterprise Servers and workgroup-level FoxTrot peer-to-peer servers (forthcoming).

Multiple Indices

Different kinds of data have distinct requirements for access and update. Reference material may be reindexed manually every fortnight, while frequently updated portions of your Documents or Mail folder may be best served with hourly reindexing.

By enabling the creation of distinct indexes for distinct "worlds" of data, FoxTrot Professional also lets you choose which context(s) to search within.

To create multiple indices, select the "Manage Indices…" menu item from the File menu, and click on the "+" icon at the bottom of the list. You will first be prompted for a location to store your new index; unless you have good reasons to store it elsewhere, we recommend that you keep the default location for sake of future simplicity.

The index should automatically start; proceed to the Indexed Data pane then check the predefined locations and/or add custom folders with the "+" icon.


- when an index is not started, only the Configuration and Sharing panes are available.

- Multiple indices is the way to segment different data "worlds" in which to selectively search; by avoiding overlap in your indexed data, you will optimize not only your search speed but also the quality of your future result categorization, targeting and previews

Search sources

Search sources

Faceless index updating

FoxTrot Professional contains a faceless background process which will honor the settings for automatic index updating even at times when the main FoxTrot Professional application is not running.


A search pattern is composed of one or more words. Uppercase, lowercase and accents are ignored. The punctuation is ignored, except in the cases mentioned under Advanced Search.

By default, FoxTrot will start searching upon clicking on the Search button. A "Search-as-you-type" mode can be also be enabled from the Preferences dialog.

Search string specifier and boolean operator popup menu

FoxTrot Professional's specifier popup menu determines how words typed into the search field are taken into account.

You can choose to:

- Include all of the words

-Include at least one of the words

-Include an exact phrase

-Include neighboring words

-Not include words

-Not include an exact phrase

-Match a search pattern

Expanded metadata search keys

FoxTrot Professional offers seven search keys:

- Contents, any metadata or file name

- Any metadata or file name

- File name

- Name, subject or title

- Author, contact or recipient

- Keyword or comments

- Other metadata

Multiple-criteria searches

Neighboring words search

FoxTrot offers a unique mechanism for selecting the proximity of words to be searched for.

Advanced Searches

Asian text

Chinese, Japanese and Korean text is searched as a single word, unless if it contains some spaces (or other punctuation characters) to separate the words. For example, searching田中ですwill only find this exact string, but searching田中 ですwill also find田中はこの人です.

Boolean operators

Use the | character (vertical bar) to combine two (or more) words with an OR. For example, washington | boston will find documents that contain either washington or boston. You can also combine quoted strings, for example washington | boston | "new york" | "san francisco".

Complex patterns

Combining several special characters in the same search pattern:

"john doe" "bob smith" will find john doe meets bob smith, but not john smith meets bob doe

restaurant chinese | vietnamese | korean boston | washington | "new york" will find a chinese restaurant in Washington as well as a vietnamese restaurant near New York. Note that the | operator have precedence, ie this search pattern is evaluated like restaurant ( chinese | vietnamese | korean ) ( boston | washington | "new york" ).

fox* -fox -foxtrot will find all documents containing a word that starts with fox but without any occurrence of fox (as a full word) or foxtrot.

*box* -*box will find all documents containing a word that contains box but without any occurrence of a word ending with box. For example, it could find a document that contains boxer or shoeboxes but it will not find one that contains shoebox.

"" (or "www ctmdev com") will find (as well as www ctmdev com or www+ctmdev/com). Note that a dot inside a word is considered as a word separator, so (without quotes) will also find informations about ctmdev at

Excluded words

words starting with a minus sign are exclusion words. For example, michigan -lake will find all documents containing michigan but not containing lake.

Note that a minus sign inside a composed word is considered as a normal word separator. For example, re-open is considered as two words: re open.

Proximity searches

Foxtrot gives a higher rank to documents that contains the searched words near to each other. However, if you you want to find only the documents that contains the specified words in a given proximity range, you can use a quoted string, and specify the range (the maximum number of other words between the searched words) between braces immediately after the opening quote. For example, "{2} bob greg john" will find documents that have at least one occurrence of bob that is at most at 2 words of occurrences of greg and john. It will find bob, john and greg are friends or greg, john and bob are friends, but it will not find bob and john are friends of greg.

You can also search for documents containing multiple quoted strings in a specified proximity range, by specifying the range (the maximum number of other words between the searched strings) between braces at the beginning of the search pattern. For example, {4} "john doe" "bob smith" will find john doe is a friend of bob smith, but it will not find john doe is one of the best friends of bob smith.

Quoted strings

Use quoted strings to search for a sequence of words. For example "lake michigan" will find lake michigan but will not find a small lake in michigan.

Quoted strings prefixed with a minus sign are exclusion phrases. For example michigan -"lake michigan" will find all documents containing michigan but not containing the expression lake michigan (whether they contain the single word lake or not).

You can add excluded words at the beginning or at the end of a quoted string, to find documents that contain this quoted string not contiguously to these excluded words.

For example, "john -doe" will find documents that have at least one occurrence of john that is not part of the string john doe; but doe or even john doe can occur somewhere else in the document (for example, it will find john smith or john smith meets bob doe or even john smith meets john doe, but it will not find just john doe).

Another example: "-john -bob doe" will find documents that contain the word doe that is not part of the strings john doe nor bob doe (for example it will find greg doe or greg doe meets john smith but it will not find just john doe nor bob doe)


Words ending with an asterisk will match all words with this prefix (for example, word* will match word, words, or wordy.

Words starting with an asterisk will match all words with this suffix (for example, *ping will match ping, jumping, or dumping.

Words enclosed by asterisks will match all words containing these characters (for example, *box* will match box, boxer, shoebox, or shoeboxes.

Open and search web pages

FoxTrot Professional can be used as a specialized web browser; after using "Open Location…", you can use all of FoxTrot's document-level search features on the fly to quickly create a list of relevant, hilighted terms in a webpage.

Whereas Safari 3 will only enable the hilighting of one word or sequence of words, FoxTrot will build a list of occurences for every term or, if the string is between quotes, of a specific sequence of words. Leading and trailing wildcard characters (*) can be also be used to find terms.

History, bookmarks and templates

FoxTrot Professional keeps a dated history of all searches performed and documents that it opens. Both can quickly be recalled by a double-click in the History section of the bookmarks window

These and other searches can be dragged for specific storage into the Bookmarks folder

In order to store only the criteriae elements of a bookmark for use as a starting block in a future search without actually performing the search itself, drag it into the Templates folder


The Finder complains that a file is open upon attempting to install a new version

FoxTrot Professional: Option-command-Quit

FoxTrot Search Server: Stop