FAQ
Hi All,

I'm struggling with Lucene on deleting a specific document from the index.
I've read the book Lucene in Action to see how to do it.
There are 2 ways to delete documents from index, using
IndexWriter.deleteDocuments(term) OR IndexReader.deleteDocuments.
CMIIW

FYI, I use PHP/Java Bridge and Lucene 2.2,
But my code below didn't work, generating error:

Exception occured: [[o:Exception]:"java.lang.Exception: Invoke failed:
[[o:IndexWriter]]->deleteDocuments([o:Term]). Cause:
java.lang.NoSuchMethodException: deleteDocuments([o:Term]).
Candidates: [] Responsible VM: 1.6.0_20@http://java.sun.com/" at: #-5
php.java.bridge.JavaBridge.Invoke(JavaBridge.java:1045) #-4
php.java.bridge.Request.handleRequest(Request.java:342) #-3
php.java.bridge.Request.handleRequests(Request.java:388) #0
Java.inc(161): java_ThrowExceptionProxyFactory->getProxy(4, true) #1
Java.inc(314): java_Arg->getResult(true) #2 Java.inc(320):
java_Client->getWrappedResult(true) #3 Java.inc(499):
java_Client->getResult() #4 Java.inc(743):
java_Client->invokeMethod(2, 'deleteDocuments', Array) #5
Java.inc(861): java_JavaProxy->__call('deleteDocuments', Array) #6
[internal function]: Java->__call('deleteDocuments', Array)

============= snippet code with IndexWriter =============
$directory = dirname(__FILE__)."/../indexLucene/";
$path = getcwd()."/txtfiles/testing.txt";

if (strlen($path) > 0) {
//delete
echo "Delete [".$path."]</br>";
$analyzer_idx = new
Java('org.apache.lucene.analysis.standard.StandardAnalyzer');
$writer_idx = new
java("org.apache.lucene.index.IndexWriter",$directory, $analyzer_idx,
false);
echo java_values($writer_idx->docCount());
$term = new Java('org.apache.lucene.index.Term','pathfile',$path);
$writer_idx->deleteDocuments($term);
$writer_idx->close();
}//end if


Then, I tried to use IndexReader, instead.
But, even worst. It failed to echo the numDocs or just to close the reader.

error message:
Exception occured: [[o:Exception]:"java.lang.Exception: Invoke failed:
[[c:IndexReader]]->numDocs. Cause: java.lang.NoSuchMethodException:
numDocs()........................

======= snippet code with IndexReader ========
$directory = dirname(__FILE__)."/../indexLucene/";
$path = getcwd()."/txtfiles/testing.txt";
$reader = new Java('org.apache.lucene.index.IndexReader');
$reader->open($directory);
//echo java_values($reader->numDocs());
$reader->close();

Hopefully someone would help me for this.
Thanks in advance
--
Dian Puma

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org

Search Discussions

  • Pulkit Singhal at Nov 12, 2010 at 12:07 pm
    Looked at 2.2 api and those methods should be there. So the
    NoSuchMethodException makes no sense.
    Are you absolutely sure that your integration between PHP & Java is setup
    properly and you really are using 2.2?
    Could there be multiple versions of lucene jars in your classpath? such that
    older ones might be getting in your way and you wouldn't really be accessing
    the 2.2 jars?
    On Thu, Nov 11, 2010 at 1:54 AM, dian puma wrote:

    Hi All,

    I'm struggling with Lucene on deleting a specific document from the index.
    I've read the book Lucene in Action to see how to do it.
    There are 2 ways to delete documents from index, using
    IndexWriter.deleteDocuments(term) OR IndexReader.deleteDocuments.
    CMIIW

    FYI, I use PHP/Java Bridge and Lucene 2.2,
    But my code below didn't work, generating error:

    Exception occured: [[o:Exception]:"java.lang.Exception: Invoke failed:
    [[o:IndexWriter]]->deleteDocuments([o:Term]). Cause:
    java.lang.NoSuchMethodException: deleteDocuments([o:Term]).
    Candidates: [] Responsible VM: 1.6.0_20@http://java.sun.com/" at: #-5
    php.java.bridge.JavaBridge.Invoke(JavaBridge.java:1045) #-4
    php.java.bridge.Request.handleRequest(Request.java:342) #-3
    php.java.bridge.Request.handleRequests(Request.java:388) #0
    Java.inc(161): java_ThrowExceptionProxyFactory->getProxy(4, true) #1
    Java.inc(314): java_Arg->getResult(true) #2 Java.inc(320):
    java_Client->getWrappedResult(true) #3 Java.inc(499):
    java_Client->getResult() #4 Java.inc(743):
    java_Client->invokeMethod(2, 'deleteDocuments', Array) #5
    Java.inc(861): java_JavaProxy->__call('deleteDocuments', Array) #6
    [internal function]: Java->__call('deleteDocuments', Array)

    ============= snippet code with IndexWriter =============
    $directory = dirname(__FILE__)."/../indexLucene/";
    $path = getcwd()."/txtfiles/testing.txt";

    if (strlen($path) > 0) {
    //delete
    echo "Delete [".$path."]</br>";
    $analyzer_idx = new
    Java('org.apache.lucene.analysis.standard.StandardAnalyzer');
    $writer_idx = new
    java("org.apache.lucene.index.IndexWriter",$directory, $analyzer_idx,
    false);
    echo java_values($writer_idx->docCount());
    $term = new Java('org.apache.lucene.index.Term','pathfile',$path);
    $writer_idx->deleteDocuments($term);
    $writer_idx->close();
    }//end if


    Then, I tried to use IndexReader, instead.
    But, even worst. It failed to echo the numDocs or just to close the reader.

    error message:
    Exception occured: [[o:Exception]:"java.lang.Exception: Invoke failed:
    [[c:IndexReader]]->numDocs. Cause: java.lang.NoSuchMethodException:
    numDocs()........................

    ======= snippet code with IndexReader ========
    $directory = dirname(__FILE__)."/../indexLucene/";
    $path = getcwd()."/txtfiles/testing.txt";
    $reader = new Java('org.apache.lucene.index.IndexReader');
    $reader->open($directory);
    //echo java_values($reader->numDocs());
    $reader->close();

    Hopefully someone would help me for this.
    Thanks in advance
    --
    Dian Puma

    ---------------------------------------------------------------------
    To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
    For additional commands, e-mail: java-user-help@lucene.apache.org

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupjava-user @
categorieslucene
postedNov 11, '10 at 6:54a
activeNov 12, '10 at 12:07p
posts2
users2
websitelucene.apache.org

2 users in discussion

Dian puma: 1 post Pulkit Singhal: 1 post

People

Translate

site design / logo © 2022 Grokbase