Re: How to write UDF in C that resemble the LIKE function
От | Michael Fuhr |
---|---|
Тема | Re: How to write UDF in C that resemble the LIKE function |
Дата | |
Msg-id | 20050213040755.GA25541@winnie.fuhr.org обсуждение исходный текст |
Ответ на | How to write UDF in C that resemble the LIKE function (b t <qtboyzz@yahoo.com>) |
Список | pgsql-interfaces |
On Sat, Feb 12, 2005 at 07:40:17PM -0800, b t wrote: > > I have a question, as part of the project that I have to do for school, > we have to implement a User Define Function in C that is similar like the > LIKE funtion in PostgreSQL. For example where a customer is searching for > an actor whose last name sounds like "Schwarseneger" (notice the typo). > However, the customer is not sure neither about the spelling nor the > pronunciation. The real star name should be "Schwarzenegger". The contrib/fuzzystrmatch module contains implementations of the soundex, levenshtein, and metaphone algorithms. Here's an example: CREATE TABLE actor ( id serial PRIMARY KEY, name text NOT NULL ); INSERT INTO actor (name) VALUES ('Schwarzenegger'); SELECT * FROM actor WHERE soundex(name) = soundex('Schwarseneger');id | name ----+---------------- 1 | Schwarzenegger You could create a functional index to speed up queries on large tables: CREATE INDEX actor_name_soundex_idx ON actor (soundex(name)); -- Michael Fuhr http://www.fuhr.org/~mfuhr/
В списке pgsql-interfaces по дате отправления: