lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bernhard Messer <Bernhard.Mes...@intrafind.de>
Subject Re: docfaq of IndexReader is showing the deleted document also
Date Wed, 28 Jul 2004 10:40:37 GMT
hi,

the code example you posted is working, but as you mentioned before you 
have the problem that the docFreq is updated only when closing the 
IndexWriter. The method i would prefer is to run a simple query and 
check if you get extactly one hit.  This has the advantage that it is 
returning the correct result when a doc is deleted within the 
IndexReader, before storing the index.

TermQuery tq = new TermQuery(new Term("OID", key));
IndexSearcher luceneSearcher = new IndexSearcher(IndexDirectory);
Hits hits = luceneSearcher.search(tq);
if (hits.length() == 1) {
.... doc is in index
}

regards
Bernhard


lingaraju wrote:

>Thanks for information
>I have read the documentation for the IndexReader.delete. method
>After "Indexwriter optimize()" method "docFreq" is giving correct count I
>mean excluding deleted document
>I am having one more question
>Actually I am using docFreq method to find the particular document is
>present or not in index by using key(Unique) field OID
>
>  IndexReader reader = IndexReader.open("c:/index");
>  Term term = new Term("OID","9365");
>  int i=reader.docFreq(term);
>  if (i!=0)
>  {System.out.println("Document present the index:"+i); }
>
>This is the right way or is there any way to find out?
>
>Regards
>Raju
>
>
>
>----- Original Message ----- 
>From: "Bernhard Messer" <Bernhard.Messer@intrafind.de>
>To: "Lucene Developers List" <lucene-dev@jakarta.apache.org>
>Sent: Tuesday, July 27, 2004 7:28 PM
>Subject: Re: docfaq of IndexReader is showing the deleted document also
>
>
>  
>
>>Hi Raju,
>>
>>read the documentation for the IndexReader.delete method and you will
>>find your way ;-)
>>
>>/** Deletes the document numbered <code>docNum</code>.  Once a document
is
>>   deleted it will not appear in TermDocs or TermPostitions enumerations.
>>   Attempts to read its field with the {@link #document}
>>   method will result in an error.  The presence of this document may
>>still be
>>   reflected in the {@link #docFreq} statistic, though
>>   this will be corrected eventually as the index is further modified.
>>   */
>>
>>public final synchronized void delete(int docNum) throws IOException
>>
>>
>>regards
>>Bernhard
>>
>>lingaraju wrote:
>>
>>    
>>
>>>I used the below code
>>>
>>>reader.delete(term);
>>>i=reader.docFreq(term);
>>>System.out.println("docfaq:"+i);
>>>reader.close();
>>>
>>>reader.docFreq method is returning 10 count before delete even after
>>>      
>>>
>delete
>  
>
>>>also count is showing same why
>>>
>>>Regards
>>>Raju
>>>
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
>>>For additional commands, e-mail: lucene-dev-help@jakarta.apache.org
>>>
>>>
>>>
>>>
>>>      
>>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: lucene-dev-help@jakarta.apache.org
>>
>>
>>    
>>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: lucene-dev-help@jakarta.apache.org
>
>  
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message