This post details the advanced search options that are available in Contact Lookup Fast (CLF).
Follow this link for the user guide.
Follow this link for the settings guide.
Getting the Application
You can purchase CLF from the Google Play Store
For a simple search of all your contact’s details, just type a word or two in the main search screen.
CLF will now search all your contact’s details, including any custom labels, to match contacts with these words in them. These words are known as search terms and together they are called the search query.
- Search queries use partial word matching, so searching for ‘red’ will not only find ‘red’, but also words like ‘Fred’, ‘Redford’, ‘Bored’, etc.
- Search terms are case insensitive
- Exclusion search terms are positionally aware and affect terms to the left
Search Modes – AND & OR
Within the Quick Settings and main settings menu you can change the search mode and choose between AND and OR search modes.
- OR When searching with multiple terms, an OR search will find contacts with ANY of the terms in them. For example, searching for ‘Paris Hilton’ could find contacts like ‘Parish Church’, ‘London Hilton’ as well as ‘Paris Hilton’.
- AND Use an AND search when you want to find contacts with ALL the search terms. Using the above example, a search for ‘Paris Hilton’ will only find ‘Paris Hilton’ and not the two other partial matches as they do not contain all the terms.
The ‘Phrase matching only’ option will limit the search results to contacts that have the search terms together in a contiguous phrase.
For example, if the contacts contains a note with ‘android is really cool’ and you search for ‘android cool’ then with phrase matching enabled, the contact would not be displayed as the words android and cool are not together.
CLF allows you to specify search modifiers to look for full or partial word matches. The word mode option allows these search modifiers to be applied by default. The choices are:
- Off. Searches match any part of the word. For example, searching for red matches Frederick, red and Redeye.
- Begins. Searches match any word that begins with the search term. For example, searching for red matches red and Redeye, but NOT Frederick.
- Full. Words must exactly match the search term. For example, searching for red matches red, but NOT Frederick or Redeye.
Word mode can be changed in the Quick Settings and main settings menus.
Phrase matching works with word mode too, so you can search for partial words and numbers that are contiguous.
Android contacts can have custom labels for most of the categories, for example, you can add an Event to a contact and label it ‘Started Work’
Furthermore, Android supports custom categories too!
By default, CLF will search all custom labels and all custom categories.
Full-Word Search Modifier
A normal search will do partial-word matches of the entered search terms. To perform full-word matches, prefix the search term with a minus sign (-) as a full-word search modifier.
For example, a normal search using the terms ‘Paris Church’ finds ‘Parish Church’ and ‘Saint-Sulpice Church, Paris’.
To avoid finding the Parish Church, use a full-word modifier, e.g. ‘-paris church’ will now only find ‘Saint-Sulpice Church, Paris’.
- You can use mixed full-word, begins-with and partial-word terms when searching.
- Using a full-word search modifier will override the selected word-mode.
Begins-with Search Modifier
To search for words that begin with the search term, prefix it with a plus sign (+) as a begins-with search modifier.
For example, a normal search using the term ‘Rod’ finds ‘Rodney and Herod’.
To avoid finding Herod, use a begins-with modifier, e.g. ‘+rod’ will now only find ‘Rodney’.
- You can use mixed full-word, begins-with and partial-word terms when searching.
- Using a begins-with search modifier will override the selected word-mode.
Exclusion Search Modifier (NOT)
CLF supports exclusion searches using the exclamation point (!) as a search modifier. These are commonly referred to as NOT searches.
For example, a normal search using the term ‘paris’ finds ‘Parish Church’, ‘Paris Hilton’ and ‘Saint-Sulpice Church, Paris’
If you did not want to find churches, then you can use an exclusion search term, e.g. ‘paris !–church’ will now only find ‘Paris Hilton’
- Exclusion terms in OR mode are positionally aware and affect all terms to the left. For example, to search for all non-Japanese employees of Honda and all employees of Toyota, use the query o:honda a:!japan o:toyota.
- In AND mode, exclusion terms affect the whole search
- You can use multiple exclusion modifiers.
- To use an exclusion modifier with a full-word modifier, ensure that the exclusion modifier comes first. e.g. to exclude the full-word ‘paris’ from a search, then use the search term ‘!-paris’
For users with a large number of contacts, a normal search may return too many results to quickly scan through. In these cases, users may want to target a search to specific categories so that spurious results are not shown. For instance, a name search will not show any results that have the same term in a note.
To help with this, there is a category search form that is accessible by swiping from right to left.
- Enter search terms in any of the search categories.
- Press the search icon to start the search. You will be taken back to the search screen and shown the results.
- Press the clear icons to remove any of the search terms.
The category search is another form of search modifier and each search term is prefixed with the category modifier. You can see the all the modified search terms used in the query as they are shown in the normal search page.
You can form a query that contains category search terms directly in the normal search screen. The category search modifier consists of a letter defining the category followed by a colon. Below is a list of all the category search modifiers:
- n: Name
- k: Nick name
- o: Organisation
- g: Group
- e: Email
- w: Web site
- a: Address
- b: Event
- m: Note
- p: Phone numbers
- s: SIP addresses
- i: Instant Messaging address
- r: Relations
- c: Custom fields
- A category search modifier searches both the category data as well as any custom label.
- Multiple terms can be added to each category
- Full-word and exclusion search modifiers can be used, but they must come after the category modifier, e.g. use ‘m:!-church’ to exclude all contacts with the word church in the notes field.
Initial and Palm-style Search
CLF supports quick searching using the contacts initials and Palm-Style. Palm-Style was default way to search using Palm handhelds and works by typing the first character of the surname, followed by the beginning characters of the name.
For example, to search for ‘Justin Stuart Bieber’ use the search term ‘jb’, or ‘jsb’.
For Palm style searches, use the term ‘bj’. If this returns too many matches, then enter the next character of the given name, e.g ‘bju’ or ‘bjus’, etc.
- Palm search will not work when the full Word Mode is enabled.
Intelligent Number Search
CLF performs an intelligent telephone number search that ignores all non-digits in a field.
For example, suppose you have a contact with the telephone number written as ‘USA +01 (0) 342 45-454 extension 232 (Office). To find this contact, just search for any part of their telephone number, e.g. 45454 or 34245454.
- CLF strips all non-digits from the number and stores the above example as 01034245454232. You can do a partial match on any of the numbers here.
- Depending upon how you’ve formatted your telephone number, area code searches may not always work, e.g. in the UK all numbers are prefixed with a ‘0’ when dialled from the UK. However, the ‘0’ is dropped when dialling from outside the UK. If you store your numbers in the international format, e.g. +441793 rather than the local format 01793 then a search for 01793 will not find the international variants. To avoid this problem, just search for 1793.
CLF supports the use of wildcards when searching. There are two supported wildcards:
- Underscore (_). Used to match single characters.
- Percent (%). Used to match zero or more characters.
The underscore character can represents ANY one character. For example, to find contacts called Karl or Carl, you could do an OR search with both terms (‘karl carl’) or you could use the wild card character to find either (‘_arl’)
The percent sign, equivalent to an asterisk in some search systems, can represent any number of characters, including none. For example, a search for ‘k%r’ will find ‘Karl’, ‘Karen’, ‘Baker’, ‘Brakspear’, etc.
- Wildcard searches can be used with category of exclusion search modifiers, but not with full-word modifiers.
More Search Tips
Below are some more search tips to improve searching:
- Use the Quick Settings option to change the Search and Word modes
- Use the search history to quickly recall previous searches
- For common searches, consider creating a search shortcut
- View contacts in a group quickly by using the Groups screen
- Want to always show certain contacts without searching? Create a group of these contacts and then use this as the default search
- Use Automatic Search to control when searching starts
- Use Diactic Normalisation to ignore diacritics when searching
- Sort your search results by surname
- If you use CLF to only lookup contacts with phone numbers, then enable the With Phone Number setting
- If you have categories you never want to search, consider excluding them from the index
- If you have contacts from multiple accounts, consider excluding the accounts you do not want to search from the index
- If you have groups of contacts you do not want to search, consider excluding those groups from the index