[Zope] ZCatalog : Searching Multiple Indexes : Returning One Result

2008-07-07 Thread Tom Von Lahndorff
Hi, I have a catalog called catalog that contains a bunch of cataloged
items. I have indexed 3 properties for each item, name, body and
description. I'd like to be able to search the catalog in the following
way:

if the word text shows up in any index, name, body or description,
return that result back once.

The problem is I have is that if a do a search for text and say there's
results that have the word text in one or more of those indexes:

catalog({name:query}) or catalog({body:query}) or
catalog({description:query})
only gives back limited results (leaves out some 'True' hits) and:
catalog({name:query}) + catalog({body:query}) + catalog({description:query})
gives me back the same result 3 times.

any ideas? Thanks.
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] ZCatalog : Searching Multiple Indexes : Returning One Result

2008-07-07 Thread Jonathan


- Original Message - 
From: Tom Von Lahndorff [EMAIL PROTECTED]

To: zope list user zope@zope.org
Sent: Monday, July 07, 2008 3:42 PM
Subject: [Zope] ZCatalog : Searching Multiple Indexes : Returning One Result



Hi, I have a catalog called catalog that contains a bunch of cataloged
items. I have indexed 3 properties for each item, name, body and
description. I'd like to be able to search the catalog in the following
way:

if the word text shows up in any index, name, body or description,
return that result back once.

The problem is I have is that if a do a search for text and say there's
results that have the word text in one or more of those indexes:

catalog({name:query}) or catalog({body:query}) or
catalog({description:query})
only gives back limited results (leaves out some 'True' hits) and:
catalog({name:query}) + catalog({body:query}) + 
catalog({description:query})

gives me back the same result 3 times.

any ideas? Thanks.


Something I saved from a long time ago post (warning untested) which may 
give you some ideas:


snip
context.Catalog({'keywordindex': ['Value1', 'Value2']})
Catalog returns me an OR search instead of an AND one

Use context.Catalog(keywordindex = {'query':[...], operator='and'})
when you want to use the and operator.
/snip

hth

Jonathan

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )