Re: [Zope-dev] How to choose: Or, Not and And when using searchResults().

2001-04-19 Thread Chris Withers



Chris McDonough wrote:
 
 dtml-in "Catalog(textindex='foo' AND fieldindex='bar' OR
 keywordindex=['flop'])"
 

Chris, how hard would it be to expose ZCatalog's set lazy union and intersection
operators?
IIRC, ZCatalog does a lot of this internally so it shouldn't be that hard to do?
(right?! ;-)

If you could expose it, then you could construct the above query as:

dtml-in
"Catalog.OR(Catalog.AND(Catalog(textindex='foo'),Catalog(fieldindex='bar')),Catalog(keywordindex=['flop']))"

Could this be done easily?

cheers,

Chris

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] How to choose: Or, Not and And when using searchResults().

2001-04-18 Thread Chris McDonough

No, unfortunately.

You need to manually do unions or intersections on results from multiple
calls to searchRequest currently.

Erik Enge wrote:
 
 Hi,
 
 I was wondering, is there a way I can choose whether I want searchResults
 to Or, Not or And the search?  Or do I need to combine searchResult calls
 and what not?
 
 ___
 Zope-Dev maillist  -  [EMAIL PROTECTED]
 http://lists.zope.org/mailman/listinfo/zope-dev
 **  No cross posts or HTML encoding!  **
 (Related lists -
  http://lists.zope.org/mailman/listinfo/zope-announce
  http://lists.zope.org/mailman/listinfo/zope )

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] How to choose: Or, Not and And when using searchResults().

2001-04-18 Thread Erik Enge

On Wed, 18 Apr 2001, Chris McDonough wrote:

 You need to manually do unions or intersections on results from multiple
 calls to searchRequest currently.

Is this a feature to be implemented?  If not, why not?

Oh, and by the way, "searchRequest"?


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



RE: [Zope-dev] How to choose: Or, Not and And when using searchResults().

2001-04-18 Thread Marco Nova

  On Wed, 18 Apr 2001, Chris McDonough wrote:
  
   You need to manually do unions or intersections on 
 results from multiple
   calls to searchRequest currently.
  
  Is this a feature to be implemented?  If not, why not?
 
 DC has no no concrete plans to implement operators or precedence in
 catalog queries, although I think it's a really 
 super-worthwhile idea. 
 We're currently focusing on the things in the Zope 2.4 plan (see
 http://dev.zope.org/Resources/zope_240_plan.html).  If 
 someone wanted to
 try to implement it, they could create a fishbowl project and I can
 provide assistance.

Why don't integrate already working search engine such as pls (www.pls.com)
?
It shouldn't be so much difficult to integrate.

- mn

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] How to choose: Or, Not and And when using searchResults().

2001-04-18 Thread Chris McDonough

Marco Nova wrote:
  DC has no no concrete plans to implement operators or precedence in
  catalog queries, although I think it's a really
  super-worthwhile idea.
  We're currently focusing on the things in the Zope 2.4 plan (see
  http://dev.zope.org/Resources/zope_240_plan.html).  If
  someone wanted to
  try to implement it, they could create a fishbowl project and I can
  provide assistance.
 
 Why don't integrate already working search engine such as pls (www.pls.com)
 ?
 It shouldn't be so much difficult to integrate.

It would not be possible to do field and keyword index queries against
methods of Zope objects with a third-party indexer.  It would
additionally not be possible to full-text-index anything but the results
of a rendered HTML page.

If ZCatalog did nothing but create full text indexes of rendered HTML, I
think we'd be all for going with a third-party search engine instead of
continuing to maintain it. But ZCatalog is not just about searching
text.  ZCatalog currently lets you relate objects in a Zope instance to
each other in ways that aren't possible without it.  For example, you
can catalog a bunch of different kinds of objects, and perform a catalog
query to retrieve only DTML Document objects.  Likewise, you can create
and index and subsequently perform a query that lets you get at objects
which have an attribute "foo" that starts with the letter "g".  This
kind of granularity is not possible with nonintegrated indexers.

Of course that doesn't mean you can't use htdig or pls to index a Zope
site if that's what you'd like to do...

- C

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] How to choose: Or, Not and And when using searchResults().

2001-04-18 Thread Chris McDonough

BTW, it *is* possible to use AND, NOT, OR, and ANDNOT in the body of a
textindex query, e.g.

dtml-in "Catalog(textindex="foo and bar or farfoo andnot flea")


This is not a problem.

But the original question (and what is not possible currently), is how
to do something like:

dtml-in "Catalog(textindex='foo' AND fieldindex='bar' OR
keywordindex=['flop'])"

...currently the best you can do is:

dtml-in "Catalog(textindex='foo', fieldindex='bar',
keywordindex=['flop'])"
...

... which does an implicit intersection (AND) of all the results from
the indexes "textindex", "fieldindex" and "keywordindex".

To change this behavior, you need to do things like:

dtml-let a="Catalog(textindex='foo')"
dtml-let b="Catalog(fieldindex='bar')"
dtml-let c="Catalog(keywordindex=['flop'])"

dtml-let result="a + b + c"
dtml-in result
.

the above example is a way to service a query like "textindex='foo' OR
fieldindex='bar' OR keywordindex=['flop']".

- C


Chris McDonough wrote:
 
 Marco Nova wrote:
   DC has no no concrete plans to implement operators or precedence in
   catalog queries, although I think it's a really
   super-worthwhile idea.
   We're currently focusing on the things in the Zope 2.4 plan (see
   http://dev.zope.org/Resources/zope_240_plan.html).  If
   someone wanted to
   try to implement it, they could create a fishbowl project and I can
   provide assistance.
 
  Why don't integrate already working search engine such as pls (www.pls.com)
  ?
  It shouldn't be so much difficult to integrate.
 
 It would not be possible to do field and keyword index queries against
 methods of Zope objects with a third-party indexer.  It would
 additionally not be possible to full-text-index anything but the results
 of a rendered HTML page.
 
 If ZCatalog did nothing but create full text indexes of rendered HTML, I
 think we'd be all for going with a third-party search engine instead of
 continuing to maintain it. But ZCatalog is not just about searching
 text.  ZCatalog currently lets you relate objects in a Zope instance to
 each other in ways that aren't possible without it.  For example, you
 can catalog a bunch of different kinds of objects, and perform a catalog
 query to retrieve only DTML Document objects.  Likewise, you can create
 and index and subsequently perform a query that lets you get at objects
 which have an attribute "foo" that starts with the letter "g".  This
 kind of granularity is not possible with nonintegrated indexers.
 
 Of course that doesn't mean you can't use htdig or pls to index a Zope
 site if that's what you'd like to do...

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] How to choose: Or, Not and And when using searchResults().

2001-04-18 Thread Casey Duncan

Chris McDonough wrote:
 
 Erik Enge wrote:
 
  On Wed, 18 Apr 2001, Chris McDonough wrote:
 
   You need to manually do unions or intersections on results from multiple
   calls to searchRequest currently.
 
  Is this a feature to be implemented?  If not, why not?
 
 DC has no no concrete plans to implement operators or precedence in
 catalog queries, although I think it's a really super-worthwhile idea.
 We're currently focusing on the things in the Zope 2.4 plan (see
 http://dev.zope.org/Resources/zope_240_plan.html).  If someone wanted to
 try to implement it, they could create a fishbowl project and I can
 provide assistance.
 
 
  Oh, and by the way, "searchRequest"?
 
 __call__ works too.  ;-)
 
 - C

This is a project I have been keeping in the back of my mind for a while
now. At present I do not have the resources to devote, but it is my hope
that this will change. I feel strongly that that ZCatalog should have a
general query language on par with an SQL where clause. Much of the work
to implement this exists in various places, it really just needs
fleshing out and tying together.

I have also been waiting for the ZCatalog changes that have just taken
place in 2.3.1. Now that this has happened, it may be a good time to
start the discussion in the Fishbowl. I would be willing to draft this
proposal, but it will be a few weeks before I realistically can do it.

-- 
| Casey Duncan
| Kaivo, Inc.
| [EMAIL PROTECTED]
`--

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] How to choose: Or, Not and And when using searchResults().

2001-04-18 Thread Chris McDonough


 This is a project I have been keeping in the back of my mind for a while
 now. At present I do not have the resources to devote, but it is my hope
 that this will change. I feel strongly that that ZCatalog should have a
 general query language on par with an SQL where clause. Much of the work
 to implement this exists in various places, it really just needs
 fleshing out and tying together.

I totally agree.

 I have also been waiting for the ZCatalog changes that have just taken
 place in 2.3.1. Now that this has happened, it may be a good time to
 start the discussion in the Fishbowl. I would be willing to draft this
 proposal, but it will be a few weeks before I realistically can do it.

If you'd be willing to take it on, I think many people would give you
attaboys for years to come!  ;-)  It doesn't seem to be on the roadmap here,
so if you choose to write the proposal, I'll help in any way I can by review
or contributing code.

BTW, some changes are coming to the way we allow contributions to the Zope
codebase which have the potential to reduce the DC "drag factor" for this
and other similar projects.

- C





___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] How to choose: Or, Not and And when using searchResults().

2001-04-18 Thread Casey Duncan

Chris McDonough wrote:
 
 BTW, some changes are coming to the way we allow contributions to the Zope
 codebase which have the potential to reduce the DC "drag factor" for this
 and other similar projects.
 
 - C

I await this process change with great curiousity.

As for the ZCatalog proposal, I am approaching from a fairly selfish
perpective. It would just make Zope that much better for me to use! Plus
I think it would be a fun, doable and useful project.

-- 
| Casey Duncan
| Kaivo, Inc.
| [EMAIL PROTECTED]
`--

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )