its better to put all search results in a way that allow to perform bulk actions like (delete ....etc)
On 4/4/08, Andreas Hartmann <[EMAIL PROTECTED]> wrote: > > Andreas Hartmann schrieb: > > > Hi Lenya users, > > > > I'd like to hear about your opinions regarding the search capabilities > > Lenya should provide. > > > > I have prepared a first draft for the search API: > > http://lenya.zones.apache.org/drafts/searchapi/ > > Any questions and comments are very welcome. In my sandbox I also have a > Lucene-based implementation which I'm testing at the moment. > > -- Andreas > > > > > I have the requirement that it should be possible to issue a search for > > documents from every Java service. For this purpose, I'd like to introduce a > > service interface, e.g. DocumentSearcher, with a method that returns a list > > of hits. But I'm not sure about the method signature yet. IMO it has to be > > something like > > > > Hits find(Index index, Query query) > > > > Should we abstract away Lucene, or should we just use the Lucene classes > > Hits and Query? If we introduce our own hits interface, e.g. DocumentHits, > > it would be easier to obtain the document from a hit: > > > > o.a.l.cms.publication.Document doc = hit.getDocument(); > > > > Otherwise, a helper would be needed: > > > > o.a.l.cms.publication.Document doc = searcher.getDocument(hit); > > > > IMO the first version is preferrable. > > > > The same question applies to the Query. That mainly depends on how we > > want to build queries. If we use the Lucene Query interface, we could > > > > a) use subclasses, e.g. MetaDataQuery (IMO preferrable) > > b) use helpers, e.g. SearchUtil.buildMetaDataQuery(…) > > > > If we introduce our own Query syntax, things might become more > > complicated. Another option would be to use just query strings, but this > > requires us to define a syntax. Or we could just use the Lucene query parser > > syntax. The signature would then be > > > > Hits find(Index index, String queryString) > > > > > > BTW, JCR uses the following API: > > > > QueryManager queryManager = workspace.getQueryManager(); > > > > Query xPathQuery = queryManager.createQuery("//*", Query.XPATH); > > Query sqlQuery = queryManager.createQuery("select * …", Query.SQL); > > > > QueryResult result = xPathQuery.execute(); > > > > > > WDYT? > > > > -- Andreas > > > > > > -- > Andreas Hartmann, CTO > BeCompany GmbH > http://www.becompany.ch > Tel.: +41 (0) 43 818 57 01 > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
