SQLite doesn't have a free text search capability - the Like and Glob functions are not free text just simple pattern matching on the scanned text. Performance is very poor because there is no suitable index.
It's not a simple task to create free text searching - you have to create an inverted index for every (or all) columns you want to search on, then you have to find a mechanism to combine that in the SQL parser. The inverted index means creating a grammar parser and a language specific stemmer to produce terms with their associated proximity info. The same parser/stemmer is then used to produce your search terms from the SQL statement. I've been creating such a beast for a while with some nice results. The project stems from an idea of creating published DVD searchable databases of library content, but I haven't worked on it for ages. I was hoping to get it to a point where I could offer it up to the SQLite community as a side project for development as an add-in to the core code. At the moment, it's got a VB front end to a VS6.0 DLL but the idea is to make it an extension of the sqlite3.exe. Is there anyone out there that would like to get involved in this? If there is, I'll happily provide a precise of how it works, what's been done and what there is still to do. Steve -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] rg]On Behalf Of Jim Dodgen Sent: 06 July 2005 03:48 To: sqlite-users@sqlite.org Subject: Re: [sqlite] Does SQLite have a fulltext search like MySQL? look at the glob command it works like like except uses the unix file name globbing style of matching not quite a grep select * from table where a glob '[abc]foobar*'; At 06:47 PM 7/5/2005, you wrote: >>like this? >>select * from table where a like '%abc%'; > >SQLite also makes it easy to write your own functions. That way you >can define other matching algorithms (eg Jaro-Winkler). > >Roger