Hi Bertrand,

the SEARCH in current slide is based on the kernel. It does not make use of
store specific search capabilities like SQL or XQL. The advantage is, that
it works with any store, be it an SQL, XML or file system based database. 

Do you want to define a new QueryLanguage, as Microsoft did? (they called
their language <D:sql> which is definitely wrong, they should use an own
namespace, as DAV does not define a language called sql).
Or do you want to optimise <D:basicsearch> so the searches on the properties
tables are done via SQL? Do you want to search only for properties or do you
want to search for content as well?

My suggestion is to extend basicsearch within slide, so the advantage of SQL
queries can be used. That should be no too big deal, generating SQL strings
from the basicsearch syntax should be straight forward. Currently I'm doing
similar things for XQL queries. 

As a starting point: have a look to
org.apache.slide.search.basic.IBasicExpressionFactory. The standard
implemention is org.apache.slide.search.basic.BasicExpressionFactory. If you
want to use an own implementation, your store (the SQL store) must return
the classname, when you ask for the store parameter
IBasicExpressionFactory.BASIC_EXPRESSION_FACTORY_CLASS.

Hope this helps,
Martin


-----Original Message-----
From: Bertrand Delacretaz [mailto:[EMAIL PROTECTED]]
Sent: Mittwoch, 31. Juli 2002 13:24
To: [EMAIL PROTECTED]
Subject: DASL search performance - does it use SQL for searching?


Hi,

We are (still) evaluating Slide for a project where we need fast searches on

property values, in collections containing large numbers of documents
(around 
10'000). I have two specific questions below.


Context:
We got DASL searches working (using the current CVS version) and found out 
that search speed is roughly proportional to the number of documents in a 
collection. If I understand the code correctly the current search system
does 
not take advantage of SQL searches and indexes.

Our ideal scenario is something like
-DASL client wants to find all documents in all collections having a
specific 
value for a user-defined property ("customer-id = A234" for example)

-Assuming a JDBC attributes store is used, Slide first makes an SQL query 
like 
    select * from property where name='customer-id' and value='A234'
and then uses the results to retrieve the corresponding resources


Questions:
1) Am I right that currently Slide will first retrieve all resources in
scope 
and then add only those that match to the result set?

2) Am I right that implementing the above scenario in a general way 
(basicsearch language) requires quite a lot of work, translating the 
basicsearch expressions to SQL and maybe modifying the interactions between 
search system and stores?

If the answer is yes to both, we might implement (and contribute) an 
additional search language using SQL directly, as done by MS SharePoint for 
example (see 
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/spssdk/html
/_search_request_format.asp), 
exe).


Thanks for any advice on the above questions!

-- 
 Bertrand Delacr�taz (codeconsult.ch, jfor.org)
 buzzwords: XML, java, XSLT, cocoon, mentoring/teaching/coding.
 disclaimer: eternity is very long. mostly towards the end. get ready.






--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to