Hi Mikhail, First of all it is strange that although I installed 9.2.1 solr, I have lucene-analysis-common-9.4.2.jar compared to your 9.5.0. But at least I found it at the location you referred to.
I copied the text_hu definition of original managed_schema.xml to my schema.xml. It gives exactly the same error. What strange is that if I go to schema menu on admin UI and check the query analyzer it says the following Tokenizer: org.apache.lucene.analysis.standard.StandardTokenizerFactory luceneMatchVersion: 9.4.0 name: standard Token Filters: org.apache.lucene.analysis.core.LowerCaseFilterFactory luceneMatchVersion: 9.4.0 name: lowercase org.apache.lucene.analysis.snowball.SnowballPorterFilterFactory luceneMatchVersion: 9.4.0 language: Hungarian name: snowballPorter Why admin shows 9.4.0 version if my jar has 9.4.2 version? Can it be a problem? If I open the jar with an archive manager on Ubuntu I can confirm that HungarianStemmer.class is there. Last modified 17th of November, 2022. Cheers, Roland Mikhail Khludnev <m...@apache.org> ezt írta (időpont: 2023. júl. 3., H, 14:21): > ls ./server/solr-webapp/webapp/WEB-INF/lib/*lucene*common* > ./server/solr-webapp/webapp/WEB-INF/lib/lucene-analysis-common-9.5.0.jar > and if I pass this jar to jar -tf , I've > got org/tartarus/snowball/ext/HungarianStemmer.class which is needed for > this analysis chain. > Can you confirm that this stemmer works before modifying default configs? > > On Mon, Jul 3, 2023 at 12:00 PM Szűcs Roland <szucs.rol...@bookandwalk.hu> > wrote: > > > Hi Mikhail, > > > > I used Solr 9.2.1. on Ubuntu 22. I used the included install script ( > > bin/install_solr_service.sh). I did not change anything. It is not a > cloud > > setup, I have a standalone solr version and one empty core in it. I work > > with python not java so I could not touch jar files. The only > modification > > I did is that I deleted the text_hu field type definition of the default > > schema.xml (first I just renamed managed-schema.xml, then modified it > since > > I want to manipulate schema only through xml, I do not use api for that) > > and replaced with mine to have asciifolding filter in the process since > > Hungarians are lazy on mobile to type in accents. Also, I eliminated stop > > word removal. But that's all. > > > > During the installation process I left everything on default. > > > > Where should be the lucene-analysis-common.jar located in the default > > directory layout? I found for example several lucene prefix jar files in > : > > /opt/solr/modules/analysis-extras/lib but all of them are located in > > analysis-extra. Your referred file relates to the core usage of Solr and > > Lucene so I would expect it not to be located in analysis-extra. Maybe I > > have missing modules? > > The content of my /opt/solr/modules/: > > analysis-extras, gcs-repository, jwt-auth, s3-repository, analytics, > > hadoop-auth, langid, scripting, clustering, hdfs, ltr, sql, extraction, > > jaegertracer-configurator, opentelemetry. > > > > None of them has lucene-analysis-common.jar in it. > > > > Roland > > > > > > > > > > > > > > Mikhail Khludnev <m...@apache.org> ezt írta (időpont: 2023. júl. 1., > Szo, > > 18:38): > > > > > Hello Roland. > > > > > > I took techproducts example > > > It has text_hu in schema which has the following filter > > > org.apache.lucene.analysis.snowball.SnowballPorterFilterFactory > > > luceneMatchVersion: 9.5.0language: Hungarianname: snowballPorter > > > I invoked this field type in Analysis screen. It seems working. > > > SF > > > átszűrődtek > > > SF > > > átszűrődt > > > Haven't you modified lucene-analysis-common.jar? Haven't you put any > > > snowball jar into Solr folders? > > > The exception means that SnowballPorterFilterFactory.inform() hasn't > been > > > invoked. I don't know how it may happened. > > > Which version you are running? Is it cloud or standalone? > > > > > > On Sat, Jul 1, 2023 at 1:39 PM Szűcs Roland < > szucs.rol...@bookandwalk.hu > > > > > > wrote: > > > > > > > Hi All, > > > > > > > > I use the following field type definition of a Hungarian text field: > > > > <fieldType name="text_hu" class="solr.TextField" > > > positionIncrementGap="100" > > > > uninvertible="false" omitTermFreqAndPositions="false"> > > > > > > > > <analyzer type="index"> > > > > <tokenizer name="standard"/> > > > > <filter name="lowercase"/> > > > > <filter name="snowballPorter" language="Hungarian"/> > > > > <filter name="asciiFolding" preserveOriginal="true"/> > > > > </analyzer> > > > > > > > > <analyzer type="query"> > > > > <tokenizer name="standard"/> > > > > <filter name="lowercase"/> > > > > <filter name="snowballPorter" language="Hungarian"/> > > > > </analyzer> > > > > </fieldType> > > > > > > > > Currently the core is empty. Solr is running as a service and I can > > > access > > > > the UI admin. As soon as I try to analyze how my title field works > > (which > > > > has text_hu field type) I get the following error: *Error > instantiating > > > > stemmer for language Hungarianfrom class null.* > > > > > > > > I have checked the documentation and it is stated that Hungarian is > > among > > > > the supported language. I checked the details in the solr.log but I > did > > > not > > > > get smarter: > > > > > > > > 2023-07-01 10:22:05.028 INFO (qtp873827336-19) [ x:books] > > > > o.a.s.c.S.Request webapp=/solr path=/analysis/field > > > > > > > > > > > > > > params={analysis.fieldvalue=Menj\FCnk+haza+hozz\E1tok&analysis.fieldname=title&analysis.showmatch=true&verbose_output=1&wt=json&_=1688206899397} > > > > status=500 QTime=22 > > > > 2023-07-01 10:22:05.029 ERROR (qtp873827336-19) [ x:books] > > > > o.a.s.s.HttpSolrCall java.lang.RuntimeException: Error instantiating > > > > stemmer for language Hungarianfrom class null => > > > > java.lang.RuntimeException: Error instantiating stemmer for language > > > > Hungarianfrom class null > > > > at > > > > > > > > > > > > > > org.apache.lucene.analysis.snowball.SnowballPorterFilterFactory.create(SnowballPorterFilterFactory.java:90) > > > > java.lang.RuntimeException: Error instantiating stemmer for language > > > > Hungarianfrom class null > > > > at > > > > > > > > > > > > > > org.apache.lucene.analysis.snowball.SnowballPorterFilterFactory.create(SnowballPorterFilterFactory.java:90) > > > > ~[?:?] > > > > at > > > > > > > > > > > > > > org.apache.lucene.analysis.snowball.SnowballPorterFilterFactory.create(SnowballPorterFilterFactory.java:47) > > > > ~[?:?] > > > > at > > > > > > > > > > > > > > org.apache.solr.handler.AnalysisRequestHandlerBase.analyzeValue(AnalysisRequestHandlerBase.java:141) > > > > ~[?:?] > > > > at > > > > > > > > > > > > > > org.apache.solr.handler.FieldAnalysisRequestHandler.analyzeValues(FieldAnalysisRequestHandler.java:234) > > > > ~[?:?] > > > > at > > > > > > > > > > > > > > org.apache.solr.handler.FieldAnalysisRequestHandler.handleAnalysisRequest(FieldAnalysisRequestHandler.java:199) > > > > ~[?:?] > > > > at > > > > > > > > > > > > > > org.apache.solr.handler.FieldAnalysisRequestHandler.doAnalysis(FieldAnalysisRequestHandler.java:104) > > > > ~[?:?] > > > > at > > > > > > > > > > > > > > org.apache.solr.handler.AnalysisRequestHandlerBase.handleRequestBody(AnalysisRequestHandlerBase.java:70) > > > > ~[?:?] > > > > at > > > > > > > > > > > > > > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:224) > > > > ~[?:?] > > > > at org.apache.solr.core.SolrCore.execute(SolrCore.java:2890) ~[?:?] > > > > at > > > > > > > > > > > > > > org.apache.solr.servlet.HttpSolrCall.executeCoreRequest(HttpSolrCall.java:872) > > > > ~[?:?] > > > > at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:568) > > > ~[?:?] > > > > at > > > > > > > > > > > > > > org.apache.solr.servlet.SolrDispatchFilter.dispatch(SolrDispatchFilter.java:252) > > > > ~[?:?] > > > > at > > > > > > > > > > > > > > org.apache.solr.servlet.SolrDispatchFilter.lambda$doFilter$0(SolrDispatchFilter.java:220) > > > > ~[?:?] > > > > at > > > > > > > > > > > > > > org.apache.solr.servlet.ServletUtils.traceHttpRequestExecution2(ServletUtils.java:257) > > > > ~[?:?] > > > > at > > > > > > > > > > > > > > org.apache.solr.servlet.ServletUtils.rateLimitRequest(ServletUtils.java:227) > > > > ~[?:?] > > > > at > > > > > > > > > > > > > > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:215) > > > > ~[?:?] > > > > at > > > > > > > > > > > > > > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:197) > > > > ~[?:?] > > > > at > > org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:210) > > > > ~[jetty-servlet-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635) > > > > ~[jetty-servlet-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527) > > > > ~[jetty-servlet-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578) > > > > ~[jetty-security-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1383) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484) > > > > ~[jetty-servlet-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1305) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.handler.InetAccessHandler.handle(InetAccessHandler.java:228) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:141) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:301) > > > > ~[jetty-rewrite-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:822) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at org.eclipse.jetty.server.Server.handle(Server.java:563) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282) > > > > ~[jetty-server-10.0.13.jar:10.0.13] > > > > at > > > > org.eclipse.jetty.io > > > > > .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314) > > > > ~[jetty-io-10.0.13.jar:10.0.13] > > > > at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100) > > > > ~[jetty-io-10.0.13.jar:10.0.13] > > > > at > > > > org.eclipse.jetty.io > > > > .SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) > > > > ~[jetty-io-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:416) > > > > ~[jetty-util-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:385) > > > > ~[jetty-util-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:272) > > > > ~[jetty-util-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:140) > > > > ~[jetty-util-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411) > > > > ~[jetty-util-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:934) > > > > ~[jetty-util-10.0.13.jar:10.0.13] > > > > at > > > > > > > > > > > > > > org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1078) > > > > ~[jetty-util-10.0.13.jar:10.0.13] > > > > at java.lang.Thread.run(Thread.java:829) [?:?] > > > > Caused by: java.lang.NullPointerException > > > > at > > > > > > > > > > > > > > org.apache.lucene.analysis.snowball.SnowballPorterFilterFactory.create(SnowballPorterFilterFactory.java:88) > > > > ~[?:?] > > > > ... 56 more > > > > > > > > Any idea, what is wrong here? > > > > > > > > Roland > > > > > > > > > > > > > -- > > > Sincerely yours > > > Mikhail Khludnev > > > > > > > > -- > Sincerely yours > Mikhail Khludnev >