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

Reply via email to