Hello,
For a long time I've been using h2db in my java desktop application
alongside Lucene for Full text indexing. So far i've been using h2db
version 1.3.160 and lucene-core version 3.4.0. Now I am trying to upgrade
my h2db version to 1.4.199 but I can't seem to find the right lucene-core
version to match. On the official tutorial page (
http://www.h2database.com/html/tutorial.html) it is mentioned that I could
use any version between 5.5.5 and 7.7.1, but I get some errors no matter
which version I choose.
For example, when I use lucene-core 6.6.0 (or any other down to 5.5.5) I
get the following Exception in the log of my application:
org.h2.jdbc.JdbcSQLSyntaxErrorException: Class
"org.h2.fulltext.FullTextLucene" not found; SQL statement:
SELECT COUNT(*) as `nr` FROM FTL_SEARCH_DATA('+store10173 ', 0, 0) WHERE
`SCHEMA` = 'ARICIUL' AND `TABLE`='LISTA' [90086-199]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:573)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
at org.h2.message.DbException.get(DbException.java:194)
at org.h2.util.JdbcUtils.loadUserClass(JdbcUtils.java:202)
at org.h2.engine.FunctionAlias.loadClass(FunctionAlias.java:144)
at org.h2.engine.FunctionAlias.load(FunctionAlias.java:120)
at org.h2.engine.FunctionAlias.findJavaMethod(FunctionAlias.java:264)
at org.h2.expression.function.JavaFunction.<init>(JavaFunction.java:34)
at org.h2.command.Parser.readJavaFunction(Parser.java:3301)
at org.h2.command.Parser.readFunction(Parser.java:3495)
at org.h2.command.Parser.readTableFunction(Parser.java:1937)
at org.h2.command.Parser.readTableFilter(Parser.java:1892)
at org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:2641)
at org.h2.command.Parser.parseSelectSimple(Parser.java:2788)
at org.h2.command.Parser.parseSelectSub(Parser.java:2636)
at org.h2.command.Parser.parseSelectUnion(Parser.java:2469)
at org.h2.command.Parser.parseSelect(Parser.java:2440)
at org.h2.command.Parser.parsePrepared(Parser.java:814)
at org.h2.command.Parser.parse(Parser.java:788)
at org.h2.command.Parser.parse(Parser.java:760)
at org.h2.command.Parser.prepareCommand(Parser.java:683)
at org.h2.engine.Session.prepareLocal(Session.java:627)
at org.h2.engine.Session.prepareCommand(Session.java:565)
at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1292)
at org.h2.jdbc.JdbcStatement.executeQuery(JdbcStatement.java:78)
at dbConnection.statements.CommonStatementsAriciul.executeGetNrRezultate
(CommonStatementsAriciul.java:67)
at dbConnection.search.ariciul.QueryListaAriciul.
calculeazaNumarRezultate(QueryListaAriciul.java:51)
at dbConnection.search.QueryBase.inainte(QueryBase.java:366)
at guiutilizator.mainviews.deviz.lista.CallableListaUtils.
getMapareBdLista(CallableListaUtils.java:50)
at guiutilizator.mainviews.deviz.lista.CallableObtineListaWorker.
fillListaFromConnector(CallableObtineListaWorker.java:95)
at guiutilizator.mainviews.deviz.lista.CallableObtineListaWorker.call(
CallableObtineListaWorker.java:75)
at guiutilizator.mainviews.deviz.lista.CallableObtineListaWorker.call(
CallableObtineListaWorker.java:17)
at exenne.components.swingworkers.progressworker.JProgressSwingWorker.
doInBackground(JProgressSwingWorker.java:279)
at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at javax.swing.SwingWorker.run(SwingWorker.java:334)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: org/apache/lucene/analysis/
standard/StandardAnalyzer
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.h2.util.JdbcUtils.loadUserClass(JdbcUtils.java:191)
... 35 more
Caused by: java.lang.ClassNotFoundException: org.apache.lucene.analysis.
standard.StandardAnalyzer
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 38 more
But if I use version 7.7.1 or below the exception changes to:
SELECT COUNT(*) as `nr` FROM FTL_SEARCH_DATA('+store10173 ', 0, 0) WHERE
`SCHEMA` = 'ARICIUL' AND `TABLE`='LISTA' [90105-199]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:502)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
at org.h2.message.DbException.get(DbException.java:194)
at org.h2.message.DbException.convertInvocation(DbException.java:374)
at org.h2.engine.FunctionAlias$JavaMethod.getValue(FunctionAlias.java:
473)
at org.h2.expression.function.JavaFunction.getValue(JavaFunction.java:40
)
at org.h2.table.FunctionTable.getValueResultSet(FunctionTable.java:205)
at org.h2.table.FunctionTable.getResult(FunctionTable.java:176)
at org.h2.index.FunctionIndex.find(FunctionIndex.java:54)
at org.h2.index.BaseIndex.find(BaseIndex.java:132)
at org.h2.index.IndexCursor.find(IndexCursor.java:163)
at org.h2.table.TableFilter.next(TableFilter.java:475)
at org.h2.command.dml.Select.gatherGroup(Select.java:528)
at org.h2.command.dml.Select.queryGroup(Select.java:495)
at org.h2.command.dml.Select.queryWithoutCache(Select.java:879)
at org.h2.command.dml.Query.queryWithoutCacheLazyCheck(Query.java:151)
at org.h2.command.dml.Query.query(Query.java:435)
at org.h2.command.dml.Query.query(Query.java:397)
at org.h2.command.CommandContainer.query(CommandContainer.java:145)
at org.h2.command.Command.executeQuery(Command.java:202)
at org.h2.jdbc.JdbcStatement.executeQuery(JdbcStatement.java:85)
at dbConnection.statements.CommonStatementsAriciul.executeGetNrRezultate
(CommonStatementsAriciul.java:67)
at dbConnection.search.ariciul.QueryListaAriciul.
calculeazaNumarRezultate(QueryListaAriciul.java:51)
at dbConnection.search.QueryBase.inainte(QueryBase.java:366)
at guiutilizator.mainviews.deviz.lista.CallableListaUtils.
getMapareBdLista(CallableListaUtils.java:50)
at guiutilizator.mainviews.deviz.lista.CallableObtineListaWorker.
fillListaFromConnector(CallableObtineListaWorker.java:95)
at guiutilizator.mainviews.deviz.lista.CallableObtineListaWorker.call(
CallableObtineListaWorker.java:75)
at guiutilizator.mainviews.deviz.lista.CallableObtineListaWorker.call(
CallableObtineListaWorker.java:17)
at exenne.components.swingworkers.progressworker.JProgressSwingWorker.
doInBackground(JProgressSwingWorker.java:279)
at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at javax.swing.SwingWorker.run(SwingWorker.java:334)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoSuchFieldError: CONSTANT_SCORE_AUTO_REWRITE_DEFAULT
at org.apache.lucene.queryparser.flexible.standard.config.
StandardQueryConfigHandler.<init>(StandardQueryConfigHandler.java:211)
at org.apache.lucene.queryparser.flexible.standard.StandardQueryParser.<
init>(StandardQueryParser.java:119)
at org.apache.lucene.queryparser.flexible.standard.StandardQueryParser.<
init>(StandardQueryParser.java:138)
at org.h2.fulltext.FullTextLucene.search(FullTextLucene.java:437)
at org.h2.fulltext.FullTextLucene.searchData(FullTextLucene.java:251)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.h2.engine.FunctionAlias$JavaMethod.getValue(FunctionAlias.java:
460)
Could you please suggest a way to get around any of those exceptions?
Thanks in advance!
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/h2-database/9c556792-6ad5-4c1e-8c44-5eab1e701f4b%40googlegroups.com.