[Zope] ZCatalog in 2.2.x

Dieter Maurer dieter@handshake.de
Fri, 1 Sep 2000 23:46:48 +0200 (CEST)

Terry Kerr writes:
 > .... only field searches yield non empty query results ....
 > The product I am working on is Etailer.
I downloaded Etailer and looked into the problem.

Indeed, I could reproduce your observation.

I analysed the problem and now do understand what went
wrong here in my installation:

  I have 2 vocabularies, both named 'Vocabulary'.
  One is in my root, the other is in the Etailer "Catalog".

  When objects are indexed, this happens in the context
  of "Etailer/Catalog". Therefore, "Etailer/Catalog/Vocabulary"
  is used for this purpose.

  When objects are searched for, this happens in the context
  of "Etailer". Therefore, "/Vocabulary" is used for
  word lookup. It does know nothing about the words
  used in my Etailer products.

Maybe, in your installation things are similar.
At least, Etailer is very volatile when there is
another object called 'Vocabulary' above it.
This results from line 159 of "Etailer.py":
	searchResults = ZCatalog.searchResults

You should provide a true, redirecting definition for

	def searchResults(self,REQUEST=None, used=None, **kw):
	  " "
	  return apply(self.Catalog.searchResults,(REQUEST,used),kw)

to make it more robust.