[Zope] Token 'ATOM' required, 'and' found
Peter Bengtsson
peterbe at gmail.com
Sat Jul 23 15:46:31 EDT 2005
I'm using zope 2.7.5 and when doing a catalog search in a ZCTextIndex
containing the starting with the word "and" it barfs with this errror:
E.g. http://www.peterbe.com/search?q=and+i+cant+stop+thinking+about+you
Error Type: ParseError
Error Value: Token 'ATOM' required, 'and' found
(traceback below)
It works perfectly fine with
http://www.peterbe.com/search?q=i+and+cant+stop+thinking+about+you
because then it doesn't start with "and".
The easy fix is so do something like this:
if q.lower().startswith('and'):
q= q[3:]
results = self.Catalog.searchResults(title=q)
But, is there a more robust solution to this? One that doesn't require
hardcoded English words in the code. Is there a way to escape "and"
and "or" to treat them as actual words?
Traceback (innermost last):
Module ZPublisher.Publish, line 101, in publish
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 39, in call_object
Module Products.Peterbecom.Homepage, line 967, in SearchCatalog
Module Products.Peterbecom.Homepage, line 985, in getSearchResults
Module Products.ZCatalog.ZCatalog, line 649, in searchResults
Module Products.ZCatalog.Catalog, line 753, in searchResults
Module Products.ZCatalog.Catalog, line 496, in search
Module Products.ZCTextIndex.ZCTextIndex, line 198, in _apply_index
Module Products.ZCTextIndex.QueryParser, line 123, in parseQuery
Module Products.ZCTextIndex.QueryParser, line 163, in _parseOrExpr
Module Products.ZCTextIndex.QueryParser, line 176, in _parseAndExpr
Module Products.ZCTextIndex.QueryParser, line 211, in _parseTerm
Module Products.ZCTextIndex.QueryParser, line 230, in _parseAtom
Module Products.ZCTextIndex.QueryParser, line 158, in _get
Module Products.ZCTextIndex.QueryParser, line 144, in _require
ParseError: Token 'ATOM' required, 'and' found
--
Peter Bengtsson,
work www.fry-it.com
home www.peterbe.com
hobby www.issuetrackerproduct.com
More information about the Zope
mailing list