[Xapian-discuss] Xapian JNI questions

Alex Kushkuley kushkuley at gmail.com
Thu Dec 7 18:19:19 GMT 2006

Thanks for the reply.

I have added one specific comment below.


> If you want to just use a MatchDecider, you need to subclass it and pass an
> instance of your subclass to get_mset() like this (this is a pointless
> matchdecider which rejects everything):
>     class MyMatchDecider implements MatchDecider {
>         public boolean accept(Document d) { return false; }
>     }
>     // ...
>     MSet mset = enquire.getMSet(0, 10, null, new MyMatchDecider());
> However, this doesn't work for me:
>     Exception in thread "main" java.lang.NoSuchMethodError: <init> (J)
>        at org.xapian.Enquire.getMSet(Enquire.java:107)
>        at SmokeTest.main(SmokeTest.java:116)
>     FAIL: SmokeTest.class
>Looking at the code, I think it's trying to find the constructor for
>org.xapian.Document as "<init> (J)".  Is that the right thing to look

Yes. I tried

  ctorid = env->GetMethodID(documentclass, "<init>", "(J)V");

in opertor()  function of JavaMatchDecider in  java/native/Enquire.cc

and that worked!

More information about the Xapian-discuss mailing list