Seaching zcatalog 2.4.2, boolean problem
I am trying to get a zcatalog boolean search working in Zope 2.4.2 My objective is to get the following boolean format to work with zcatalog indexes: (indexA=valueA) AND (indexB=valueB OR indexB=valueC) where: indexA is a zcatalog Text index indexB is a zcatalog Field index valueA/B/C are entered by the user through an html form I have tried the following dtml: <dtml-in "Catalog.searchResults({'indexA' : 'valueA', 'indexB' : 'valueB'}, {'indexA' : 'valueA', 'indexB' : 'valueC'})"> The repetition of indexA is required as .searchResults performs boolean AND within {} and OR between {} {}. This search is not working and through some experimentation I have discovered the following: <dtml-in "Catalog.searchResults({'indexB' : 'goodvalue'}, {'indexB' : 'goodvalue'})"> /* returns a valid result set*/ <dtml-in "Catalog.searchResults({'indexB' : 'badvalue'}, {'indexB' : 'badvalue'})"> /* returns a valid result set (empty set)*/ <dtml-in "Catalog.searchResults({'indexB' : 'goodvalue'}, {'indexB' : 'badvalue'})"> /* returns a valid result set*/ <dtml-in "Catalog.searchResults({'indexB' : 'badvalue'}, {'indexB' : 'goodvalue'})"> /* returns INVALID result set (empty set)*/ where: goodvalue - exists in index badvalue - does not exist in index Am I doing something wrong? Is this a bug or undocumented feature? Is there a work-around? Any and all help is greatly appreciated! Jonathan Hobbs
participants (1)
-
Small Business Services