[Zope] ZCatalog in 2.2.x

Chris McDonough chrism@digicool.com
Sat, 02 Sep 2000 16:34:38 -0400


What is the actual word you're looking for?  'blah'?

Terry Kerr wrote:
> 
> Hi,
> 
> I can rebuild indexes and recatalog etc, it doesn't change anything.  I
> don't see how it could change anything...it is a brand new zcatalog
> instance.  Simply, the ZCatalog is created, the indexes are created, and
> the zcatalog is initially empty.  Then I create one CatalogAware object,
> and it catalogs itself.  I can see this object in the catalog, and I can
> see the textindexed words in the vocabulary.  But when I search for a word
> in the vocabulary using a textindex (which obviously belongs to the only
> object in the catalog), I get an empty result.  The only way I can get a
> non empty result it to search for the id of the object or one other
> property I have which are indexed as field indexes.
> 
> The product I am working on is Etailer.  If anyone is kind enough to take a
> look, you can download it at http://e-tailer.adriot.net/download.html.  The
> function that does the search is searchFor(), at line 419 of Etailer.py.
> Creating an instance of etailer in 2.1.6 works fine, but creating an
> instance of etailer in 2.2.x and the catalog doesn't work.
> 
> i am very confused ;-).
> 
> Chris McDonough wrote:
> 
> > This is not right, obviously.  Can you rebuild your indexes (by deleting
> > and reentering them), recatalog, and see if the problem goes away?  We
> > haven't had any colluding reports of something like this, and I'm using
> > the 2.2.1 catalog with textindexes successfully on a customer project.
> >
> > > -----Original Message-----
> > > From: Terry Kerr [mailto:terry@adroit.net]
> > > Sent: Wednesday, August 30, 2000 3:27 AM
> > > To: pja@clari.net.au; zope@zope.org
> > > Subject: Re: [Zope] ZCatalog in 2.2.x
> > >
> > >
> > > I am not searching from a form in that sense...I am talking
> > > about at the python
> > > level.
> > >
> > > I have self.searchResults({'description':'blah'})  where
> > > description is meta
> > > data in the catalog and a textindex and 'blah' is in the
> > > Vocabulary.  This
> > > previously worked in zope2.1.6.  Now in 2.2.0 and 2.2.1 it
> > > doesn't work.  The
> > > only thing way I can get searchResults() to return a non
> > > empty list is to search
> > > using a Field index and a valid string to match with.
> > >
> > >
> > > pja@clari.net.au wrote:
> > >
> > > > Terry Kerr <terry@adroit.net> said:
> > > >
> > > > > Hi,
> > > > >
> > > > > I have a python product which uses a ZCatalog and CatalogAware
> > > > > products.  The catalog has a number of Field and
> > > TextIndex indexes.
> > > > > Search the ZCatalog has worked fine when my product is
> > > instantiated in
> > > > > 2.1.6.  But now when I instantiate my product in 2.2.0 or 2.2.1,
> > > > > searching only works when I search using a field index.
> > > Searching using
> > > > > a textindex always results in an empty result, even tho I
> > > can see the
> > > > > words I am searching for in the Vocabulary!  Any
> > > suggestions?  I have
> > > > > tried reindexing, completey recreating the Zcatalog,
> > > recreating the
> > > > > Vobulary and reindexing, and nothing has changed the
> > > behaviour.  Are
> > > > > textindexes simply broken?
> > > > >
> > > > >
> > > > > ZCatalog seems very volatile to me!  Every time I have
> > > upgraded way back
> > > > > from zope2.1.3, something in zcatalog has changed and
> > > boken my product.
> > > > > So far I have managed to find fixes, but this one has got
> > > me baffled!!
> > > > >
> > > >
> > > > My experience has been that if field indexes are
> > > unspecified, the catalog
> > > > will only match where those fields are empty.  In other
> > > words, by not
> > > > specifing anything for the field indexes, you are actually
> > > specifying that
> > > > for a match, they need to be empty.
> > > > To get around this, I put another method between the form
> > > for entering what
> > > > you wish to search for, and the method that actually
> > > searches the form.  This
> > > > method looks at the field indexes, and if nothing has been
> > > specified, it
> > > > doesn't pass them on to the method that does the actual search.
> > > > An alternative to this, is to use names for the field
> > > indexes that aren't in
> > > > the catalog index, and then at the start of the search
> > > method, check those
> > > > names, and if they have a value associated with them, add
> > > to REQUEST what the
> > > > names in the index are with the appropriate values.
> > > >
> > > > There may be a better way, I'm still pretty new to Zope and
> > > DTML sort of
> > > > stuff.
> > > >
> > > > Peter Armstrong
> > >
> > > --
> > > Terry Kerr (terry@adroit.net)
> > > Adroit Internet Solutions Pty Ltd (www.adroit.net)
> > > Phone:   +613 9563 4461
> > > Fax:     +613 9563 3856
> > > Mobile:  +61 414 938 124
> > > ICQ:     79303381
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Zope maillist  -  Zope@zope.org
> > > http://lists.zope.org/mailman/listinfo/zope
> > > **   No cross posts or HTML encoding!  **
> > > (Related lists -
> > >  http://lists.zope.org/mailman/listinfo/zope-announce
> > >  http://lists.zope.org/mailman/listinfo/zope-dev )
> > >
> >
> > _______________________________________________
> > Zope maillist  -  Zope@zope.org
> > http://lists.zope.org/mailman/listinfo/zope
> > **   No cross posts or HTML encoding!  **
> > (Related lists -
> >  http://lists.zope.org/mailman/listinfo/zope-announce
> >  http://lists.zope.org/mailman/listinfo/zope-dev )
> 
> --
> Terry Kerr (terry@adroit.net)
> Adroit Internet Solutions Pty Ltd (www.adroit.net)
> Phone:   +613 9563 4461
> Fax:     +613 9563 3856
> Mobile:  +61 414 938 124
> ICQ:     79303381
> 
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )