Re: search term parsing like Google/Gmail

2009-09-10 Thread Robert Kern

On 2009-09-09 16:37 PM, Randy Syring wrote:

I am looking for a string parser that works kind of like Google's or
Gmail's advanced search capabilities. So it would turn something like this:

(subject:hi there from:[tim, tom, -fred]) or (subject:foobar from:sam)

into a python structure that could be used. I don't really care so much
about the search syntax except that easy and intuitive is best for
users. Does something like this exist?


The Whoosh search library uses pyparsing to parse its queries. It does not 
handle the [] brackets, but it handles the rest. I am sure that Matt Chaput 
would accept a contribution of such an enhancement, though.


  http://whoosh.ca/

In [9]: from whoosh import qparser

In [10]: p = qparser.QueryParser('body')

In [11]: p.parse(u'subject:hi there or (subject:foobar from:sam)')
Out[11]: Or([Phrase(u'subject', [u'hi', u'there']), And([Term(u'subject', 
u'foobar', boost=1.0), Term(u'from', u'sam', boost=1.0)])])


--
Robert Kern

I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth.
  -- Umberto Eco

--
http://mail.python.org/mailman/listinfo/python-list


search term parsing like Google/Gmail

2009-09-09 Thread Randy Syring
I am looking for a string parser that works kind of like Google's or 
Gmail's advanced search capabilities.  So it would turn something like this:


   (subject:hi there from:[tim, tom, -fred]) or (subject:foobar from:sam)

into a python structure that could be used.  I don't really care so much 
about the search syntax except that easy and intuitive is best for 
users.  Does something like this exist?


--
--
Randy Syring
Intelicom
502-644-4776

Whether, then, you eat or drink or 
whatever you do, do all to the glory

of God. 1 Cor 10:31

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: search term parsing like Google/Gmail

2009-09-09 Thread Daniel Fetchinson
 I am looking for a string parser that works kind of like Google's or
 Gmail's advanced search capabilities.  So it would turn something like this:

 (subject:hi there from:[tim, tom, -fred]) or (subject:foobar from:sam)

 into a python structure that could be used.  I don't really care so much
 about the search syntax except that easy and intuitive is best for
 users.  Does something like this exist?

You might want to look at pyparsing.

HTH,
Daniel


-- 
Psss, psss, put it down! - http://www.cafepress.com/putitdown
-- 
http://mail.python.org/mailman/listinfo/python-list