Casey Duncan <casey_duncan@yahoo.com> wrote:
--- Johan Carlsson <johanc@torped.se> wrote:
Hi, I need to check an assumption I have made on the ZCatalog Brains and Lazy Results from reading the source.
1. The Brains gets its schema from the ZCatalog and this schema is basicly fixed. E.g. a search result always has the attributes defined by the Meta Data in the ZCatalog?
Yes, you always get all the meta-data. However, does anyone know how the "used" argument of ZCatalog.searchResults works, or why you would use it?
'used' tells you the names of the indexes which actually participated in the search (as distinct from those you asked for).
I would rather be able to construct a Brain Schema at search time equivalent to the way theSELECT statement sets up the result attributes in SQL. Example: resultset =
Catalog.searchResults(query,schema=('id','title','keywords'))
Why is this important? I would suggest not putting big stuff in the meta-data that might warrant this. Just use the nifty new (v2.3) getObject method of the brain to access whatever properties/methods of the actual object you might need.
'getObject' forces you to "wake up" the catalogued object; in a large enough result set, the price is pretty punitive, compared to serving the results as cached metadata. Tres. -- =============================================================== Tres Seaver tseaver@digicool.com Digital Creations "Zope Dealers" http://www.zope.org