I'm still stuck on this. Any thoughts? Thank you! Jose
On Fri, Jun 27, 2014 at 12:52 PM, Jose Blanco <[email protected]> wrote: > Ok, I'm actually not sure I need to run this. But it is strange that it > failed. > > This is my situation. I would like to have the lucene index kept > updated because: > > (1) I'm still using ArtifactBrowse aspect: > > <aspect name="Artifact Browser" > path="resource://aspects/ArtifactBrowser/" /> > > (2) I'm using SRW and it has an interface with lucene rather than discovery. > > So what I think I need to do to have lucene index kept current ( just > for searching ) is to run > > (1) have this in dspace.cfg > > event.dispatcher.default.consumers = search, versioning, discovery, > eperson, harvester > > (2) When I release the dspace 4.1 code run this: > ./dspace index-lucene-init > > AND > > (3) run this as a cron job nightly: > > ./dspace filter-media > > Does this make sense? > > My only problem now is that when filter-media goes to update the > indecies, I get a whole bunch of these errors: > > 2014-06-27 12:42:36,344 ERROR org.dspace.search.DSIndexer @ > java.io.FileNotFoundException: > /dspace/repository/dev/search/_68y0_Lucene41_0.tip (Too many open > files) > > Any guidance with this will be greatly appreciated. > > -Jose > (1) ./dspace index-lucene-init > > On Fri, Jun 27, 2014 at 11:47 AM, Jose Blanco <[email protected]> wrote: >> I just checked the API documentation, and it says: >> >> Class MultiFields >> public static Bits getLiveDocs(IndexReader reader) >> Returns a single Bits instance for this reader, merging live Documents >> on the fly. This method will return null if the reader has no >> deletions. >> >> Should there be a check for null? >> >> On Fri, Jun 27, 2014 at 11:40 AM, Jose Blanco <[email protected]> wrote: >>> I just ran index-lucene-init and it completed successfully, but when I >>> try to run >>> >>> index-lucene-update, it blows up at where I have (****): >>> >>> */ >>> public static void cleanIndex(Context context) throws IOException, >>> SQLException { >>> >>> IndexReader reader = DSQuery.getIndexReader(); >>> >>> Bits liveDocs = MultiFields.getLiveDocs(reader); >>> >>> for(int i = 0 ; i < reader.numDocs(); i++) >>> { >>> (****) if (!liveDocs.get(i)) >>> >>> >>> The error I'm getting is >>> >>> Exception: null >>> java.lang.NullPointerException >>> at org.dspace.search.DSIndexer.cleanIndex(DSIndexer.java:616) >>> >>> I know reader is not null, but liveDocs must be, but why? >>> >>> -Jose ------------------------------------------------------------------------------ Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft _______________________________________________ DSpace-tech mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dspace-tech List Etiquette: https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette

