Terry,
From another report, this problem occurs in unoptimized indexes.
Let me know if you still have the problem in an optimized index.
I haven't looked at the problem yet. I'll try to look at it this
weekend.
--Peter
On Thursday, September 5, 2002, at 10:44 AM, Terry Steichen wrote:
> Peter,
>
> I've done some more checking and it appears that the problem is in
> HitsIterator.sortByField() in creating the arrayOfIndividualHits[],
> which
> throws an array out of bounds exception. I'm a bit stumped about what
> to do
> from here, as I don't fully understand the logic. Perhaps you have
> some
> idea?
>
> Regards
>
> Terry
>
> ----- Original Message -----
> From: "Terry Steichen" <[EMAIL PROTECTED]>
> To: "Lucene Users List" <[EMAIL PROTECTED]>
> Sent: Tuesday, September 03, 2002 1:12 PM
> Subject: Re: SearchBean - search on index with deleted documents
>
>
>> Peter,
>>
>> I just implemented the change you recommended below but to no avail.
>>
>> The challenge is that when I 'reindex' a changed document (deleting
>> and
>> adding from the index) and then optimize for each such change
>> process, it
>> takes far too long. But if I skip the optimization step, the search
>> no
>> longer works. I get no error messages, a query simply returns
>> nothing.
> If
>> I then invoke optimize, the search capability is completely restored.
>>
>> So, basically, for my purposes, the suggested change - for whatever
> reason -
>> simply doesn't work. If you have any other ideas on how to get
>> around the
>> optimize delay (which, in my case, is about 30 seconds or more), I'd
>> sure
>> appreciate it.
>>
>> Best regards,
>>
>> Terry
>>
>>
>> ----- Original Message -----
>> From: "Peter Carlson" <[EMAIL PROTECTED]>
>> To: "Lucene Users List" <[EMAIL PROTECTED]>
>> Cc: <[EMAIL PROTECTED]>
>> Sent: Monday, July 29, 2002 9:54 AM
>> Subject: Re: SearchBean - search on index with deleted documents
>>
>>
>>> Thanks for the feedback.
>>>
>>> Please direct all Lucene related questions to the Lucene User's List.
>> You'll
>>> get more people to help and hopefully help other too.
>>>
>>>
>>> I think if you change the SortedField.addField method to
>>>
>>> /** adds the data from the index into a string array
>>> */
>>> private void addSortedField(String fieldName, IndexReader ir)
>>> throws
>>> IOException{
>>> int numDocs = ir.numDocs();
>>> fieldValues = new String[numDocs];
>>> for (int i=0; i<numDocs; i++) {
>>> if(ir.isDeleted(i) == false){
>>> fieldValues[i] = ir.document(i).get(fieldName);
>>> } else {
>>> fieldValues[i] = "";
>>> }
>>> }
>>> ir.close();
>>> }
>>>
>>>
>>> I think this will work. I'm not yet sure if this is the best way to
>>> go,
>> but
>>> I think it will get around the bug. It removes any field values you
>>> are
>>> sorting on in the field so you should never run into a problem.
>>>
>>> I don't have an unoptimized index at hand, and unfortunately no time
>>> to
>>> test. Please let me know if this works.
>>>
>>>
>>> Thanks
>>>
>>> --Peter
>>>
>>>
>>> On 7/29/02 7:23 AM, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
>>> wrote:
>>>
>>>> Hi Peter,
>>>>
>>>> I've found the SearchBean very useful for our project, but seem to
> have
>> run
>>>> into problems when it comes to searching an index which has had
>> documents
>>>> removed using the IndexReader.delete method (without calling the
>>>> IndexWriter.optimize method).
>>>>
>>>> In particular the error returned is:
>>>> "java.lang.IllegalArgumentException: attempt to access a deleted
>> document"
>>>>
>>>> This occurs in the SortedField.addField method and I believe has to
>>>> do
>> with
>>>> the fact that IndexReader returns all documents - whether deleted or
>> not.
>>>> When the index is optimized the deleted documents are actually
>>>> removed
>> and
>>>> the problem does not occur (ie if the *.del file is removed from the
>> index).
>>>>
>>>> Any thoughts on a work-around for this?
>>>>
>>>> Apologies if my understanding is flawed here - I'm new to this, and
>> thanks
>>>> very much for your help.
>>>>
>>>
>>>
>>> --
>>> 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]>
>>
>>
>
>
>
> --
> 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]>