On Sep 17, 2010, at 11:12 AM, Michael Bayer wrote:

> 
> On Sep 17, 2010, at 10:58 AM, Michael Bayer wrote:
> 
>> 
>> On Sep 17, 2010, at 9:14 AM, Michael Hipp wrote:
>> 
>>> On 9/14/2010 2:23 PM, Michael Hipp wrote:
>>>> Is it possible to use a regexp in a like() clause? Or some other way to 
>>>> achieve
>>>> something similar?
>>> 
>>> Can anyone suggest an approach to search a field with a regexp?
>> 
>> if you were using Postgresql, you could use   somecolumn.op("~")(someregexp)
>> 
>> http://www.postgresql.org/docs/8.4/interactive/functions-matching.html#FUNCTIONS-POSIX-REGEXP
>> 
>> cant speak for other platforms though you'd have to consult their 
>> documentation.
> 
> 
> PG also supports MATCH since I see we have some unit tests for that, i.e. 
> column.match(other).     I'm not seeing offhand in PG's docs what it 
> interprets the "MATCH" operator as, i.e. is it a "~", "SIMILAR TO", not sure.
> 
> I guess the reasons I've never had interest in regexp matching in databases 
> are:
> 
> 1. its always bad to search through tables without being able to use indexes
> 2. if you're needing to dig into text, it suggests the atoms of that text 
> should be represented individually in their own column (i.e. normalize)
> 3. no really, I'm doing flat out full text searching on documents and don't 
> want to reinvent.  Well then I'd use a full blown text extension 
> (http://www.postgresql.org/docs/8.3/static/textsearch.html)  or a separate 
> search engine.

The SQLAlchemy "match" operator compiles to PostgreSQL full-text search (@@ 
to_tsquery).
test/dialect/test_postgresql.py

Cheers,
M

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to