I would think that the best way to debug your problem is to include <dtml-var REQUEST> at the bottom of your results page, below the </dtml-in> tag... That way, you can see what the form values are. ZCatalog just looks at the REQUEST namespace for submitted form values, and uses them as searches on it's indexes. So, for example, one of my applications has a method that renders some "weighted" search text for the search engine (ZCatalog) to index - my method is called "searchTextWeighted," and it outputs the text I want indexed. There is an index added to ZCatalog's index tab for "searchTextWeighted" as a TextIndex so that I can have the results indexed, and when I pass the full query in a GET or POST form value with the name of searchTextWeighted, it seems to work. A lot of getting the search set up the way you want might involve a bit of trial-and-error, some reading, patience, and some questions to the list; I'm sure you'll get it working the way you want eventually; that's the approach that I have had to take. Perhaps when I am all done with my current project (which is very search-intensive), I will write a howto... Sean -----Original Message----- From: Ronald.Chichester@bakerbotts.com [mailto:Ronald.Chichester@bakerbotts.com] Sent: Tuesday, July 10, 2001 6:50 AM To: sean.upton@uniontrib.com Subject: RE: [Zope] ZCatalog resources Sean: I guess I'm having more fundamental trouble than I first thought. I added a ZCatalog to a folder and indexed it. In the process, it created a Report and a Search file. To test it, I input a search term (single word) into the principa field. It returned quite a few hits that seemed reasonable for the (broad or common) term that I used. Then I went back to the search form and took out the broad word and put in another word that should have returned a much narrower result set. Instead, it gave me the exact same result set, even though I knew for a fact that many of the items returned did not contain the new search term. Something is clearly not right. Thanks for the information below, however. Once I get a working ZCatalog, I'll put your tips to good use. Incidentally, how did you learn all these tips about the ZCatalog? Best wishes, Ron -----Original Message----- From: sean.upton@uniontrib.com [mailto:sean.upton@uniontrib.com] Sent: Monday, July 09, 2001 6:03 PM To: complaw@hal-pc.org Cc: zope@zope.org Subject: RE: [Zope] ZCatalog resources I am supposing that you are trying to search on one 'field' or mass of text; what I am about to say would require a bit of modification and re-thought if you were to combine searches on multiple fields (well, that is, if you need cross-field OR searching; AND is already a de-facto reality across fields). How is it that you are "revising" the search? I'm supposing that you are taking the original search, and combining the query verbatim with the modifications, like: originalquery + ' ' + modifications Doing this (at least in Zope 2.3.x, I think) should result in an implicit "AND" and limit the first set, but I think you need to gratuitously use parentheses. For example, in an classified ad application I have developed using ZCatalog, there are lots of job entries for engineers, but I want to modify it to only see something like environmental engineer jobs: Suppose the original query is "engineer*" - also suppose that I want to append a limiting term like "environment*" - I would rewrite the query string for the textIndex I am searching to look like: (engineer*) AND (environment*) This limits 83 items in my test example to 6 matches. and suppose, then, that I was looking for something in the Navy: ((environment*) AND (engineer*)) AND (naval) This limits 6 items in my test example to 1 match. All the extra parentheses don't seem to hurt, and seem to be necessary, to some extent. So, I guess, if you are trying to do limiting searches, you are going to have to have some code that rewrites your query text, every time wrapping your original search in parentheses and appending an AND and the new terms. The python code for this might look like: newquery='(' + oldquery + ') AND (' + newquery + ')' Then pass newquery as a form value for the index you are trying to search using your form doing a <dtml-in Catalog>. Good luck, Sean -----Original Message----- From: complaw@hal-pc.org [mailto:complaw@hal-pc.org] Sent: Monday, July 09, 2001 3:29 PM To: sean.upton@uniontrib.com Cc: zope@zope.org Subject: RE: [Zope] ZCatalog resources
Perhaps you can be more specific about your problems. I suppose you are working with Text Indexes? What sorts of indexes and queries are you trying to set up; and on what sorts of datatypes? I'm sure that I (and possbily others on the list) would be able to help guide you in your set up of the indexes you need in a manner that suits your search case.
Thanks Sean. First, I've had no problem installing or indexing. The problems come with searching for specific content. It seems that the first search returns a seemingly correct result set (meaning that the list in the result set had the criteria). However, when I revised the criteria (either to narrow the result set, or to get a completely different result set) I got the original (first) result set instead. Any change in criteria yielded the same (large) result set. Have you had that problem? Ron
Sean
-----Original Message----- From: complaw@hal-pc.org [mailto:complaw@hal-pc.org] Sent: Monday, July 09, 2001 1:16 PM To: zope@zope.org Subject: [Zope] ZCatalog resources
Is there a good resource for ZCatalog issues. I've tried Chapter 9 of the Zope book, but only get the result if they have because they have only two objects.
My experience with the ZCatalog is that it returns far too many objects,
the
vast majority of which do not satsify the criteria. When I ask for the first set, it returns a correct result. However, changing the criteria and resubmitting (by going back, chaning the criteria, and resubmitting) gives me the exact same (overly large) result set which now does NOT fit the search criteria. I need a catalog but don't want to roll it out to users if I can't get it to work correctly.
Is there some nice neat resource that explains how to get the ZCatalog to do one's bidding (or tell me what I'm doing wrong).
Cheers,
Ron
_______________________________________________ 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 )
participants (1)
-
sean.upton@uniontrib.com