I have a large ZCatalog (330,000+ objects) that has been in production for nearly a year. One particularly important index keeps track of client names so that users can quickly search by client. The index is a ZCTextIndex called 'clientString'. Sometime very recently, my query began raising an exception when users try to search on the term 'Smith'. My best guess is that one of the records in the catalog containing the word 'Smith' has been corrupted somehow. The query looks like this: container.catalogOfEFRObjects.searchResults({'clientString':'Smith'}) The traceback looks like this: Traceback (innermost last): ... Module Products.ZCatalog.ZCatalog, line 619, in searchResults Module Products.ZCatalog.Catalog, line 751, in searchResults Module Products.ZCatalog.Catalog, line 492, in search Module Products.ZCTextIndex.ZCTextIndex, line 184, in _apply_index Module Products.ZCTextIndex.ParseTree, line 118, in executeQuery Module Products.ZCTextIndex.BaseIndex, line 190, in search Module Products.ZCTextIndex.OkapiIndex, line 160, in _search_wids KeyError: 458693239 If I look up this key (458693239) in the catalog, I can find a path to the object. If I try to unindex/reindex the object, I get a similar error: Traceback (innermost last): Module ZPublisher.Publish, line 98, in publish Module ZPublisher.mapply, line 88, in mapply Module ZPublisher.Publish, line 39, in call_object Module Products.ElectronicFileRoom.CatalogPathAwareness, line 106, in reindex_object Module Products.ElectronicFileRoom.CatalogPathAwareness, line 102, in unindex_object Module Products.ZCatalog.ZCatalog, line 530, in uncatalog_object Module Products.ZCatalog.Catalog, line 407, in uncatalogObject Module Products.ZCTextIndex.ZCTextIndex, line 166, in unindex_object Module Products.ZCTextIndex.OkapiIndex, line 67, in unindex_doc KeyError: 458693239 Can anyone offer a diagnosis and/or solution? Nathaniel ID:[{20040802172147.30403.5740027340-12.6.18.86}]
On Tuesday 03 August 2004 05:21, nwingfield@dixon-hughes.com wrote:
I have a large ZCatalog (330,000+ objects) that has been in production for nearly a year. One particularly important index keeps track of client names so that users can quickly search by client. The index is a ZCTextIndex called 'clientString'. Sometime very recently, my query began raising an exception when users try to search on the term 'Smith'. My best guess is that one of the records in the catalog containing the word 'Smith' has been corrupted somehow. The query looks like this:
container.catalogOfEFRObjects.searchResults({'clientString':'Smith'})
perhaps a reindex would help clear this up? ..
participants (2)
-
Bakhtiar A Hamid -
nwingfield@dixon-hughes.com