Hello, I did a little more investigiation into the problem, and couldnt really find any documentation anywhere on what the actual semantics are of keywords and how they are queried. For instance: I have three classes and each has an keyword index named KW: ObjectOne: KW = ['one','blue','furry'] ObjectTwo: KW = ['two','flying','purple'] ObjectThree: KW = ['three','one-eyed','purple'] If I were to query the ZCatalog with the following set of words: ['purple'] I would expect to get: ObjectTwo ObjectThree Right? If I query the database with ['one','two'] ( if this type of thing is at all possible ), I get : ObjectOne ObjectTwo This seems like the obvious result: BUT: it depends if you want a AND/OR type search. I could also expect to get nothing( if its an AND type search because no records match 'one' and 'two' ). Here is better example, what if I queried: ['purple','one-eyed']. Would I be expecting only ObjectThree or [ ObjectThree, ObjectTwo ] ( because they both match the keyword purple( a logical set-intersection ) ). Also I found the keyword indexes to have some more obvious bugs. If I only used one keyword for the matching critiria, for instance if I used 'purple' , I would only get ObjectTwo. Is anyone else using keyword indexes? In what way are you using them? Thanks, Josh Zeidner http://www.brooklynmedialabs.com