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 [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en.