----- 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 )

Reply via email to