Hi Clint,

The error is caused by....

Caused by: java.lang.NoSuchMethodError:
org.apache.lucene.index.IndexReader.indexExists(Ljava/lang/String;)

I see you are using lucene 3.0.2, which has an IndexReader that doesn't have
an indexExists(String method) anymore:

http://lucene.apache.org/java/3_0_2/api/core/org/apache/lucene/index/IndexReader.html

The 2.x flavours of lucene *did* have an indexExists(String) method...

http://lucene.apache.org/java/2_4_0/api/org/apache/lucene/index/IndexReader.html

... which inspired me to Google some more, and it looks like Lucene 3.0 is
being actively worked on, but isn't available yet:
http://code.google.com/p/h2database/issues/detail?id=147

Try again with Lucene 2.9 maybe?

Hope this helps.

Cheers
Kerry



On Fri, Aug 13, 2010 at 11:05 AM, clint <clinthyd...@gmail.com> wrote:

> here's my .bat file to start the DB:
> __________________
>
> set JAVA_HOME=C:\Progra~2\Java\
>
> set CLASSPATH=%JAVA_HOME%\lib\tools.jar;c:\h2\bin\h2-1.2.135.jar;c:
> \h2\bin\lucene-core-3.0.2.jar
>
> \progra~2\java\jre6\bin\java -cp "h2-1.2.135.jar;%H2DRIVERS%;%CLASSPATH
> %" -Xincgc org.h2.tools.Server -tcp -tcpAllowOthers -web -
> webAllowOthers
>
> ------------------------------
>
> you can see I have the lucene jar on there, and I'm using H2 V135
>
>
>
> here's my SQL: (note that the whole thing can be run over and over,
> everything is cleared and recreated)
>
> ________________________
>
> drop schema if exists magazine_index;
> //this punts the full-text-search stuff
> drop schema if exists FT;
> drop schema if exists FTL;
>
> CREATE SCHEMA magazine_index;
>
> //this recreates FT
> CREATE ALIAS IF NOT EXISTS FT_INIT FOR
> "org.h2.fulltext.FullText.init";
> CALL FT_INIT();
>
> CREATE ALIAS IF NOT EXISTS FTL_INIT FOR
> "org.h2.fulltext.FullTextLucene.init";
> CALL FTL_INIT();
>
> set schema magazine_index;
>
> //do I need these table drops with the whole db drop above?
> drop table issue_x_mag if exists;
> drop table story_x_author if exists;
> drop table story_x_photographer if exists;
> drop table story_x_issue if exists;
> drop table tag_x_story if exists;
> drop table magazine if exists;
> drop table tag if exists;
> drop table issue if exists;
> drop table author if exists;
> drop table photographer if exists;
> drop table story if exists;
> drop table nmra_member if exists;
>
>
>
> create table magazine (
>  mytime timestamp default current_timestamp(),
>  mag_id integer not null identity primary key,
>  name varchar(250)
> );
>
> //legitimate enterers of new data.
> create table nmra_member (
>  mytime timestamp default current_timestamp(),
>  member_id integer not null identity primary key, //probably not
> significant or valuable.
>  name varchar (200),
>  nmra_number integer, //verified with HQ.
>  entry_count integer default 0 //how many entries this person has
> made.
> );
>
> create table issue (
>  mytime timestamp default current_timestamp(),
>  issue_id integer not null identity primary key,
>  mag_id integer,
>  // story foreign key (),
>  month varchar(30),
>  year integer,
>  constraint  is1 foreign key (mag_id) references magazine(mag_id)
>  );
>
> //needed?
> create table issue_x_mag (
>       issue_id integer,
>       mag_id integer,
>       constraint im1 foreign key (issue_id) references issue
> (issue_id),
>       constraint im2 foreign key (mag_id) references magazine
> (mag_id)
> );
>
> create table author (
>  mytime timestamp default current_timestamp(),
>      auth_ID integer not null identity primary key,
>      name varchar(150)
> );
>
> create table story (
>  mytime timestamp default current_timestamp(),
>       story_id integer not null identity primary key,
>       title varchar(250),
>       page integer
> );
>
> create table photographer (
>  mytime timestamp default current_timestamp(),
>       photog_id integer not null identity primary key,
>       name varchar(150)
> );
>
> create table tag (
>  mytime timestamp default current_timestamp(),
>       tag_id integer not null identity primary key,
>       name varchar(30)
> );
>
> create table tag_x_story (
>  mytime timestamp default current_timestamp(),
>       tag_id integer,
>       story_id integer,
>       constraint ts1 foreign key (tag_id) references tag(tag_id),
>       constraint ts2 foreign key (story_id) references
> story(story_id)
> );
>
> //because a story could have multiple authors
> create table story_x_author (
>       auth_id integer,
>       story_id integer,
>       constraint sa1 foreign key (auth_ID) references author
> (auth_ID),
>       constraint sa2 foreign key (story_id) references story
> (story_id)
> );
>
> //because a story could have multiple photographers
> create table story_x_photographer (
>       photog_id integer,
>       story_id integer,
>       constraint sp1 foreign key (photog_ID) references photographer
> (photog_id),
>       constraint sp2 foreign key (story_id) references story
> (story_id)
> );
>
> //because an issue has multiple stories
> create table story_x_issue (
>       issue_id integer,
>       story_id integer,
>       constraint si1 foreign key (issue_ID) references issue
> (issue_id),
>       constraint si2 foreign key (story_id) references story
> (story_id)
> );
>
> create table errors (
>  mytime timestamp default current_timestamp(),
>  error_id integer not null identity primary key,
>  description varchar(2000)
>  );
>
>
> create index story_x_author_index1 on story_x_author(auth_id);
> create index story_x_author_index2 on story_x_author(story_id);
> create index story_x_issue_index1 on story_x_issue(story_id);
> create index story_x_issue_index2 on story_x_issue(issue_id);
>
> create index story_index on story(story_id);
> create index author_index on author(auth_id);
>
>
> //do these have to run AFTER putting some data in? and then run again
> and again?
> CALL FT_CREATE_INDEX('MAGAZINE_INDEX', 'STORY', 'TITLE' );
> CALL FT_CREATE_INDEX('MAGAZINE_INDEX', 'AUTHOR', 'NAME');
> CALL FT_CREATE_INDEX('MAGAZINE_INDEX', 'TAG', 'NAME');
> CALL FT_CREATE_INDEX('MAGAZINE_INDEX', 'PHOTOGRAPHER', 'NAME');
>
> CALL FTL_CREATE_INDEX('MAGAZINE_INDEX', 'STORY', 'TITLE' );
> CALL FTL_CREATE_INDEX('MAGAZINE_INDEX', 'AUTHOR', 'NAME');
> CALL FTL_CREATE_INDEX('MAGAZINE_INDEX', 'TAG', 'NAME');
> CALL FTL_CREATE_INDEX('MAGAZINE_INDEX', 'PHOTOGRAPHER', 'NAME');
>
>
> insert into magazine(name) values ('Model Railroader');
> insert into magazine(name) values ('1:87 Scale');
> insert into magazine(name) values ('30 Guild');
> insert into magazine(name) values ('On30 Interchange');
> insert into magazine(name) values ('Big Train Operator');
> insert into magazine(name) values ('Brass Browser');
> insert into magazine(name) values ('Brass Buyers Guide');
> insert into magazine(name) values ('Brass Modeler and Collector');
> insert into magazine(name) values ('Canadian Railway Modeler');
> insert into magazine(name) values ('Classic Toy Trains');
> insert into magazine(name) values ('Garden Railways');
> insert into magazine(name) values ('Live Steam');
> insert into magazine(name) values ('Grand Scales Quarterly');
> insert into magazine(name) values ('Greater Tinplater');
> insert into magazine(name) values ('Great Model Railroads');
> insert into magazine(name) values ('HO Model Trains');
> insert into magazine(name) values ('Model Trains');
> insert into magazine(name) values ('Clear Block');
> insert into magazine(name) values ('Colorado Narrow Gauge Quarterly');
> insert into magazine(name) values ('Dispatchers Office');
> insert into magazine(name) values ('Finelines');
> insert into magazine(name) values ('Finescale Railroader');
> insert into magazine(name) values ('Outdoor RR');
> insert into magazine(name) values ('Inside Track');
> insert into magazine(name) values ('LGB Telegram');
> insert into magazine(name) values ('Light Iron Digest');
> insert into magazine(name) values ('Lion Roars');
> insert into magazine(name) values ('Maine 2-foot Quarterly');
> insert into magazine(name) values ('Mainline Modeler');
> insert into magazine(name) values ('Miniature Locomotive');
> insert into magazine(name) values ('Miniature Railroading');
> insert into magazine(name) values ('Model Builder');
> insert into magazine(name) values ('Modelmaker Magazine');
> insert into magazine(name) values ('Model Rail News');
> insert into magazine(name) values ('Model Railroad Planning');
> insert into magazine(name) values ('Model Railroad Collector');
> insert into magazine(name) values ('Model Railroading');
> insert into magazine(name) values ('1001 Model Railroading Ideas');
> insert into magazine(name) values ('Great World of Model
> Railroading');
> insert into magazine(name) values ('Modeltec');
> insert into magazine(name) values ('Model Transport');
> insert into magazine(name) values ('MRCS Dispatch');
> insert into magazine(name) values ('N Scale');
> insert into magazine(name) values ('N Scale Railroading');
> insert into magazine(name) values ('N-TRAK Newsletter');
> insert into magazine(name) values ('Narrow Gauge and Short Line
> Gazette');
> insert into magazine(name) values ('NASG Dispatch');
> insert into magazine(name) values ('NER Coupler');
> insert into magazine(name) values ('North American Live Steamer');
> insert into magazine(name) values ('NMRA Bulletin');
> insert into magazine(name) values ('Scale Rails');
> insert into magazine(name) values ('O Gager');
> insert into magazine(name) values ('O Gauge Modeler');
> insert into magazine(name) values ('O Scale');
> insert into magazine(name) values ('O Gauge Railroading');
> insert into magazine(name) values ('O Scale News');
> insert into magazine(name) values ('O Scale Trains');
> insert into magazine(name) values ('Prototype Modeler');
> insert into magazine(name) values ('Railmodel Journal');
> insert into magazine(name) values ('Railmodel Magazine');
> insert into magazine(name) values ('Railroad Model Craftsman');
> insert into magazine(name) values ('Railroad Modeler');
> insert into magazine(name) values ('S Gaugian');
> insert into magazine(name) values ('Scale Coupler');
> insert into magazine(name) values ('Scale Steam Pictorial');
> insert into magazine(name) values ('Slim Gauge News');
> insert into magazine(name) values ('Sn3 Modeler');
> insert into magazine(name) values ('Steam in the Garden');
> insert into magazine(name) values ('Toy Trains');
> insert into magazine(name) values ('Western Prototype Modeler');
> insert into magazine(name) values ('S Gauge Herald');
> insert into magazine(name) values ('Whistle Stop');
> insert into magazine(name) values ('O Gauge Modeler');
> insert into magazine(name) values ('TTOS Bulletin');
> insert into magazine(name) values ('Switcher');
> insert into magazine(name) values ('Model Railroad Equipment Buyers
> Guide');
> insert into magazine(name) values ('Rail Line News');
> insert into magazine(name) values ('Rail Protomodels');
> insert into magazine(name) values ('S/Sn3 Buyers/Modeling Guide');
> insert into magazine(name) values ('Toy and Train Album');
> insert into magazine(name) values ('Toy and Model Trains');
> insert into magazine(name) values ('Train Collectors Quarterly');
> insert into magazine(name) values ('Delaware Valley/Atlantic Division
> Express');
> insert into magazine(name) values ('Turntable');
> insert into magazine(name) values ('Yard Limits');
>
>
>
>
>
> insert into story(title, page) values ('Test Story', 23);
> insert into author (name) values ('Clint Hyde');
> insert into issue(month, year, mag_id) values ('January', 1995, 1);
>
> insert into author (name) values ('Bill Smith');
> insert into story(title, page) values ('Review', 74);
> insert into issue(month, year, mag_id) values ('August', 2004, 1);
>
> insert into story_x_author(auth_id, story_id) values (1,1);
> insert into story_x_author(auth_id, story_id) values (2,2);
> insert into story_x_issue(issue_id, story_id) values (1,1);
> insert into story_x_issue(issue_id, story_id) values (2,2);
> insert into issue_x_mag(issue_id, mag_id) values (1,1);
> insert into issue_x_mag(issue_id, mag_id) values (2,1);
>
> select * from magazine;
> select * from story;
> select * from author;
> select * from issue;
> select * from issue_x_mag;
> select * from story_x_issue;
> select * from story_x_author;
>
> select magazine.name, issue.month, issue.year, story.title,
> author.name
>   from story, author, story_x_author, story_x_issue, issue,
> issue_X_mag, magazine
>   where story_x_issue.story_id = story.story_id
>      and story_x_issue.issue_id = issue.issue_id
>      and story.story_id = story_x_author.story_id
>      and story_x_author.auth_id = author.auth_id
>      and issue_x_mag.issue_id = issue.issue_id
>      and issue_x_mag.mag_id = magazine.mag_id;
>
>
> select * from ft_search_Data('clint', 0, 0);
>
> ______________________________
>
> here's the first error msg from H2 [running the exact sql above!]
> running on Win 7:
>
> CREATE ALIAS IF NOT EXISTS FTL_INIT FOR
> "org.h2.fulltext.FullTextLucene.init";
> Update count: 0
> (0 ms)
>
> CALL FTL_INIT();
> Exception calling user-defined function: "init(conn24:
> url=jdbc:default:connection user=SA):
> org.apache.lucene.index.IndexReader.indexExists(Ljava/lang/String;)Z";
> SQL statement:
> CALL FTL_INIT() [90105-135] 90105/90105 (Help)
> org.h2.jdbc.JdbcSQLException: Exception calling user-defined function:
> "init(conn24: url=jdbc:default:connection user=SA):
> org.apache.lucene.index.IndexReader.indexExists(Ljava/lang/String;)Z";
> SQL statement:
> CALL FTL_INIT() [90105-135]
>    at org.h2.message.DbException.getJdbcSQLException(DbException.java:
> 327)
>    at org.h2.message.DbException.get(DbException.java:156)
>    at org.h2.message.DbException.convertInvocation(DbException.java:
> 295)
>    at org.h2.engine.FunctionAlias
> $JavaMethod.getValue(FunctionAlias.java:395)
>    at org.h2.expression.JavaFunction.getValue(JavaFunction.java:36)
>    at org.h2.command.dml.Call.query(Call.java:61)
>    at org.h2.command.CommandContainer.query(CommandContainer.java:80)
>    at org.h2.command.Command.executeQuery(Command.java:132)
>    at org.h2.server.TcpServerThread.process(TcpServerThread.java:275)
>    at org.h2.server.TcpServerThread.run(TcpServerThread.java:134)
>    at java.lang.Thread.run(Unknown Source)
> Caused by: java.lang.NoSuchMethodError:
> org.apache.lucene.index.IndexReader.indexExists(Ljava/lang/String;)Z
>    at
> org.h2.fulltext.FullTextLucene.getIndexModifier(FullTextLucene.java:
> 262)
>    at org.h2.fulltext.FullTextLucene.init(FullTextLucene.java:101)
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>    at java.lang.reflect.Method.invoke(Unknown Source)
>    at org.h2.engine.FunctionAlias
> $JavaMethod.getValue(FunctionAlias.java:383)
>    ... 7 more
>
>    at org.h2.engine.SessionRemote.done(SessionRemote.java:528)
>    at org.h2.command.CommandRemote.executeQuery(CommandRemote.java:
> 158)
>    at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:
> 172)
>    at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:151)
>    at org.h2.server.web.WebApp.getResult(WebApp.java:1300)
>    at org.h2.server.web.WebApp.query(WebApp.java:1001)
>    at org.h2.server.web.WebApp$1.next(WebApp.java:965)
>    at org.h2.server.web.WebApp$1.next(WebApp.java:968)
>    at org.h2.server.web.WebThread.process(WebThread.java:161)
>    at org.h2.server.web.WebThread.run(WebThread.java:88)
>    at java.lang.Thread.run(Unknown Source)
>
> ________________________
>
>
> yesterday I rebooted my Win 7 PC. Now it appears that the internal
> text search is going to work...but it still complains about lucene...
>
> and no matter what, this seems not to run on my friend's server, which
> is where I need it to end up, so that it's on the web.
>
>  -- clint
>
>
>
> On Aug 11, 4:45 pm, Kerry Sainsbury <ke...@fidelma.com> wrote:
> > Hi Clint,
> >
> > Maybe you could provide the specific steps you are following so we could
> > perhaps reproduce the problem? What version of H2 are you using?
> >
> > Also, what do you mean specifically by "lucene is worse...that doesn't
> work
> > anywhere" -- do you have actual error messages?
> >
> > Thanks
> > Kerry
> >
> > On Thu, Aug 12, 2010 at 5:39 AM, clint <clinthyd...@gmail.com> wrote:
> > > yes, I've already done that...note that I said this works just fine on
> > > my laptop.
> >
> > > lucene is worse...that doesn't work anywhere.
> >
> > > I am doing this by cutting and pasting the exact code from the
> > > documentation...which I hoped was going to be ok...
> >
> > >  -- clint
> >
> > > On Aug 10, 3:09 am, Thomas Mueller <thomas.tom.muel...@gmail.com>
> > > wrote:
> > > > Hi,
> >
> > > > I don't think the problem is related to the operating system. Does
> > > > your application install the fulltext methods? This is done by
> > > > executing CREATE ALIAS FT_INIT ... and CALL FT_INIT(). This should be
> > > > documented I believe.
> >
> > > > Regards,
> > > > Thomas
> >
> > > > On Sunday, August 8, 2010, clint <clinthyd...@gmail.com> wrote:
> > > > > I seriously need this text search to work, but I am having strange
> > > > > problems.
> >
> > > > > My SQL is fairly simple, the whole database is not very complex,
> but I
> > > > > need it online very very soon.
> >
> > > > > The error I get is that FT_CREATE_INDEX is reported as "can't find
> > > > > method":
> >
> > > > > ------------
> >
> > > > > CALL FT_CREATE_INDEX('MAGAZINE_INDEX', 'STORY', 'TITLE' );
> > > > > Function "FT_CREATE_INDEX" not found; SQL statement:
> > > > > CALL FT_CREATE_INDEX('MAGAZINE_INDEX', 'STORY', 'TITLE' )
> [90022-140]
> > > > > 90022/90022 (Help)
> >
> > > > > CALL FT_CREATE_INDEX('MAGAZINE_INDEX', 'AUTHOR', 'NAME');
> > > > > Function "FT_CREATE_INDEX" not found; SQL statement:
> > > > > CALL FT_CREATE_INDEX('MAGAZINE_INDEX', 'AUTHOR', 'NAME')
> [90022-140]
> > > > > 90022/90022 (Help)
> >
> > > > > CALL FT_CREATE_INDEX('MAGAZINE_INDEX', 'TAG', 'NAME');
> > > > > Function "FT_CREATE_INDEX" not found; SQL statement:
> > > > > CALL FT_CREATE_INDEX('MAGAZINE_INDEX', 'TAG', 'NAME') [90022-140]
> > > > > 90022/90022 (Help)
> >
> > > > > CALL FT_CREATE_INDEX('MAGAZINE_INDEX', 'PHOTOGRAPHER', 'NAME');
> > > > > Function "FT_CREATE_INDEX" not found; SQL statement:
> > > > > CALL FT_CREATE_INDEX('MAGAZINE_INDEX', 'PHOTOGRAPHER', 'NAME')
> > > > > [90022-140] 90022/90022 (Help)
> >
> > > > > -------
> >
> > > > > the part I can't figure out is that this works just fine on my
> intel
> > > > > macintosh powerbook. the above errors are on my friend's intel
> > > > > macintosh mini. There is an O/S difference, I have 10.5, he has
> 10.6
> >
> > > > > is that o/s diff the cause?
> >
> > > > > --------
> >
> > > > > I have not tried the Lucene indexing yet. That is next.
> >
> > > > > otherwise, I am very happy with H2's abilities and performance.
> I've
> > > > > been using it all year, multiple databases, some tiny, some with
> > > > > millions of records.
> >
> > > > >  -- clint
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "H2 Database" group.
> To post to this group, send email to h2-datab...@googlegroups.com.
> To unsubscribe from this group, send email to
> h2-database+unsubscr...@googlegroups.com<h2-database%2bunsubscr...@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/h2-database?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To post to this group, send email to h2-datab...@googlegroups.com.
To unsubscribe from this group, send email to 
h2-database+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en.

Reply via email to