_By D. Richard Hipp on 2003-09-03:_ I propose a new built-in function for SQLite to be used for doing full text searches. The function would look like this: _: search(PATTERN, ARG1, ARG2, ...) The first argument is a pattern containing one or more space separated words to search for. The function returns a score based on how well the pattern matches the arguments. The score is increased by 100 for every whole-word match and is increased by 1 for every subword match. By "whole-word" match, I mean that a word from PATTERN matches a complete word in one of the arguments. A subword match is when a word in PATTERN is part of a longer word in the arguments. For example, if a PATTERN contained the word "IS" and an argument contained the words "WISHFUL" then the "IS" would have a subword match against "WISHFUL" because "IS" is contained within "WISHFUL". Because of difficulties dealing with case in international character sets, case would be significate for these comparisons. If you want to do a caseless search, surround each argument with a lower() function call. Or, perhaps there should be a separate function named search_nocase(...)? _By Matt Sergeant on 2003-09-03:_ I prefer to see this sort of thing kept out of the database. It's fairly easy to implement full text search using either a few extra tables, or a separate database (see the perl module DBIx:: FullTextSearch for an example). I don't see a reason to add this to sqlite.