Arno Gross wrote:
> I understand that the search terms for a field with TextIndex are ORed
> and the fields in a search form are ANDed.
> But assume the following:
> * I have three fields (eg. abstract, content, title) with TextIndex
> * I have one field (eg. category) with FieldIndex
> When searching I want just give a keyword for the three TextIndex fields
> and a search term for category.
> The applying expression should look like this:
> (abstract=keyword OR content=keyword OR title=keyword) AND
> Any hints?
Create a method or computed attribute called "search_text" that returns the
concatenation of abstract, content and title.
In ZPatterns I'd use the following SkinScript:
WITH SELF COMPUTE
search_text='%s %s %s' % (abstract, content, title)
An equivalent PythonScript as a method of your ZClass would be:
return '%s %s %s' % (container.abstract, container.content, container.title)
Use a similar method in a python class, replacing "container" with "self".
Set up search_text as a TextIndex in your ZCatalog.
Then, query the catalog with something like:
The standard name for the search_text method or attribute is
PrincipiaSearchSource. That's why PrincipiaSearchSource is a default
TextIndex in a new ZCatalog.
Zope-Dev maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists -