Hi Reinier, this looks like your Lucene index contains some errors if some results appear twice and others don't appear at all. Try rebuilding the index.
Jasha Joachimsthal [email protected] - [email protected] www.onehippo.com Amsterdam - Hippo B.V. Oosteinde 11 1017 WT Amsterdam +31(0)20-5224466 San Francisco - Hippo USA Inc. 185 H Street, suite B, Petaluma CA 94952 +1 (707) 7734646 2009/6/11 Reinier van den Born <[email protected]>: > Hello, > > I try to automatically update a collection of documents in a Hippo > repository. > Each document is kept in its own collection within a "main" collection: > ../1/a.xml, ../2/b.xml, etc. > Each update is independent of earlier ones: I don't need caching, no JMS, or > what more. > > So I do a simple scan for old documents (fetchCollection), upload the new > and delete the old. > Very simple, so I was thinking I could use the Java Adapter directly... > > Which works except for the getting the scan. Its function is similar to "ls > .../*/*.xml". > But my code+DASL gives me a weird response: > - only documents show up that have recently be touched by the CMS (clicked > on, not necessarily opened) > - the documents I write appear repeated in the list (=duplicates, each write > cycle one occurrence is added) > - this duplication is reset when I change the DASL query (eg depth to 1, > returns no documents, and back to 2). > - all documents are listed correctly by CMS and DAVexplorer, no problemo. > > I use my own plain WebdavServiceImpl, which I assume does no caching. > Also when I restart my app (tomcat) nothing changes, nor when I restart the > repo. > > Anyway, any help is appreciated? See code below. > > Thanks, > > Reinier > > > ------------------ > Here the code I use: > > ..... > public void hippoInit (Properties props) { > try { > WebdavConfig webdavConfig = new WebdavConfig(props); > webdavService = new WebdavServiceImpl(webdavConfig); > rootPath = webdavService.getBasePath(); > } > catch (Exception e) { > error( "Error initializing Hippo repository connection: > "+e.getMessage()); > } > } > > public HashMap hippoScanJobOpenings (String relPath) { > HashMap jobs = new HashMap(); > jobs.put( "REPO.RELPATH", relPath ); > > String query = Interpolation.interpolate( jobsQuery, jobs ); > try { > DocumentCollection coll = webdavService.fetchCollection( rootPath, > query, false ); > List docs = coll.getDocuments(); > > Iterator iter = docs.iterator(); > while (iter.hasNext()) { > Document collDoc = (Document) iter.next(); > String dirPath = ((DocumentPath) > collDoc.getPath()).getRelativePath(); > message( "Found job: "+dirPath ); > } > } > catch (Exception e) { > error( "Error getting existing job openings: "+e.getMessage()); > } > return jobs; > } > > The DASL query used is: > > <d:searchrequest xmlns:d="DAV:" xmlns:S="http://jakarta.apache.org/slide/" > xmlns:h="http://hippo.nl/cms/1.0"> > <d:basicsearch> > <d:select> > <d:prop> > <h:caption/> > <d:displayname/> > <h:type/> > <d:modificationdate/> > </d:prop> > </d:select> > <d:from> > <d:scope> > <d:href>${REPO.RELPATH}</d:href> > <d:depth>2</d:depth> > </d:scope> > </d:from> > <d:where> > <d:eq> > <d:prop><h:type/></d:prop> > <d:literal>jobopening</d:literal> > </d:eq> > </d:where> > <d:orderby> > <d:order> > <d:prop><h:modificationDate/></d:prop> > <d:ascending/> > </d:order> > </d:orderby> > </d:basicsearch> > </d:searchrequest> > > Notes: > > - props contains the settings to initialise the WebdavConfig object as > described in ... > - relPath is the path from rootPath to the collection containing the > documents. > > -- > > Reinier van den Born > HintTech B.V. > > T: +31(0)88 268 25 00 > F: +31(0)88 268 25 01 > M: +31(0)6 494 171 36 > > Delftechpark 37i | 2628 XJ Delft | The Netherlands > www.hinttech.com > > HintTech is a specialist in eBusiness Technology ( .Net, Java platform, > Tridion ) and IT-Projects. > Chamber of Commerce The Hague nr. 27242282 | Sales Tax nr. NL8062.16.396.B01 > > > ******************************************** > Hippocms-dev: Hippo CMS development public mailinglist > > Searchable archives can be found at: > MarkMail: http://hippocms-dev.markmail.org > Nabble: http://www.nabble.com/Hippo-CMS-f26633.html > > > ******************************************** Hippocms-dev: Hippo CMS development public mailinglist Searchable archives can be found at: MarkMail: http://hippocms-dev.markmail.org Nabble: http://www.nabble.com/Hippo-CMS-f26633.html
