Thank you very much Jeff and Malcolm for the extremely helpful
replies.
Jeff, the substring match is not based on spaces. Rather, the string
can start anywhere and end anywhere.
So, I cannot think of a way to do it, as Malcolm said.
I had also done the same thing as Malcolm, i.e. pulled every tuple to
memory (luckily I dont expect more than 200 odd tuples for this
particular scenario) and am comparing individually - except for the
fact that I was stopping at the first substring match. -  I guess I
should be doing the "longest common substring" as Malcolm mentioned.
Again, thank you Jeff and Malcolm.

On Mar 5, 6:18 am, Malcolm Tredinnick <malc...@pointy-stick.com>
wrote:
> On Wed, 2009-03-04 at 05:01 -0800,koranthalawrote:
> > Hi,
> >      How do I implement a substring query?
> >      Please find the example below.
> > From Django Documentation:
> >   Entry.objects.get(headline__icontains='Lennon')
> >   => This matches the headline 'Today lennon honoured'
>
> > My query is the opposite:
> >    I have the string 'Lennon' inside my DB, and I have to match 'Today
> > Lennon honoured'
> > Say:
> > Entry.objects.get(headline__isubstring='Today Lennon Honoured')
> > should return headline 'Lennon'.
>
> >     I checked iregex too, but I cannot seem to solve it myself. If
> > somebody has solved this, could you please help me out.
>
> This isn't the type of searching operating that is going to be standard
> outside of specialised packages. It's actually a really hard problem
> (not impossible, there are solutions, but hard) in general. The
> complexity comes from the fact that the match could start anywhere and
> involve any number of characters. So to do this efficiently requires
> some special datastructures (with suffix trees and some other
> structures, you can the search in about O(total length of text)).
>
> Now, I'm sure it wouldn't be impossible to write, say, an extension for,
> say, PostgreSQL (picking that database because of its excellent support
> for extensions) that supported this kind of searching, but it would be a
> fair bit of work. It would require a particular sort of index structure
> to support the searches. I don't know any package off the top of my head
> that does this for databases. Might be a fun project for somebody with a
> bit of time and curiosity.
>
> I've done this kind of thing in the past for a couple of clients and
> I've always pulled the text to be searched into memory. Create a data
> structure of all the headlines to be searched (using your example) and
> then match the search string against them to find the longest common
> substring match. There's a lot of literature on this sort of stuff, and
> searching for things like "longest common substring" will give you a
> place to start.
>
> Regards,
> Malcolm
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to