Zoie + Solr plugin

48 views
Skip to first unread message

sharath

unread,
Aug 2, 2011, 8:53:14 PM8/2/11
to zoie
I have posted the same question couple of times, once in actual zoie
site and also have emailed the owners.
I am not sure whether that would reach you guys (spam filters or
something).

Apologies, this might actually be considered as spam :), posting it
everywhere.

Have faced problems integrating zoie with solr using zoie-solr plugin.
Using solr 1.4.1 installed and tried integrating zoie with it and the
problems I am facing:


SEVERE: Could not start SOLR. Check solr/home property
java.lang.NoClassDefFoundError: org/apache/solr/core/
IndexReaderFactory
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at
org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:
375)
at java.lang.ClassLoader.loadClass(ClassLoader.java:296)
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:627)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at
org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:
359)
at
org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:
390)
at org.apache.solr.core.SolrCore.initIndexReaderFactory(SolrCore.java:
350)
at org.apache.solr.core.SolrCore.initIndex(SolrCore.java:372)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:545)
at org.apache.solr.core.CoreContainer
$Initializer.initialize(CoreContainer.java:137)
at
org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:
83)
at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:
99)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
40)
at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:
594)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:
1218)
at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:
500)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:
448)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
40)
at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:
147)
at
org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:
161)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
40)
at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:
147)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
40)
at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:
117)
at org.mortbay.jetty.Server.doStart(Server.java:210)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
40)
at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:929)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.mortbay.start.Main.invokeMain(Main.java:183)
at org.mortbay.start.Main.start(Main.java:497)
at org.mortbay.start.Main.main(Main.java:115)
Caused by: java.lang.ClassNotFoundException:
org.apache.solr.core.IndexReaderFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 48 more
Aug 2, 2011 3:12:23 PM org.apache.solr.common.SolrException log
SEVERE: java.lang.NoClassDefFoundError: org/apache/solr/core/
IndexReaderFactory
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at
org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:
375)
at java.lang.ClassLoader.loadClass(ClassLoader.java:296)
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:627)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at
org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:
359)
at
org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:
390)
at org.apache.solr.core.SolrCore.initIndexReaderFactory(SolrCore.java:
350)
at org.apache.solr.core.SolrCore.initIndex(SolrCore.java:372)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:545)
at org.apache.solr.core.CoreContainer
$Initializer.initialize(CoreContainer.java:137)
at
org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:
83)
at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:
99)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
40)
at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:
594)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:
1218)
at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:
500)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:
448)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
40)
at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:
147)
at
org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:
161)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
40)
at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:
147)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
40)
at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:
117)
at org.mortbay.jetty.Server.doStart(Server.java:210)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
40)
at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:929)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.mortbay.start.Main.invokeMain(Main.java:183)
at org.mortbay.start.Main.start(Main.java:497)
at org.mortbay.start.Main.main(Main.java:115)
Caused by: java.lang.ClassNotFoundException:
org.apache.solr.core.IndexReaderFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 48 more



I have made the following changes to the solrconfig.xml
<indexReaderFactory class="proj.zoie.solr.ZoieSolrIndexReaderFactory" /
>
<updateHandler class="proj.zoie.solr.ZoieUpdateHandler">

<zoie.batchSize>25000</zoie.batchSize> <!-- default: 1000 -->
<zoie.batchDelay>200000</zoie.batchDelay> <!-- default: 300000
e.g. 5 min -->
<zoie.realtime>true</zoie.realtime> <!-- default: true -->
<zoie.freshness>10000</zoie.freshness> <!-- default: 10000, how
often reader cache is refreshed, in millis -->
<zoie.type>hourglass</zoie.type> <!-- standard zoie or
hourglass, default: zoie -->


I have also copied the jars zoie-core, zoie-solr, fast-utils and log4j
to the solr lib folder.
I am not sure why solr could not find them in its classpath.

Any pointers? What am I doing wrong

Thanks,
Sharath

John Wang

unread,
Aug 3, 2011, 1:42:22 AM8/3/11
to zo...@googlegroups.com
Hi Sharath:

    The class loader is definitely not right. You are not able to even load the solr classes. Are you able to start solr without the zoie libraries?

-John


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


sharath

unread,
Aug 3, 2011, 12:52:43 PM8/3/11
to zoie
Hey John,

Yep, I am able to start solr without zoie.
I am sure it is something stupid I have done with the configs.


Thanks,
Sharath

sharath

unread,
Aug 3, 2011, 1:06:21 PM8/3/11
to zoie
John,


I also saw this in the
org.apache.solr.handler.component.QueryElevationComponent class:

if( sf == null || !(sf.getType() instanceof StrField))

Unknown macro: { throw new
SolrException( SolrException.ErrorCode.SERVER_ERROR,
"QueryElevationComponent requires the schema to have a uniqueKeyField
implemented using StrField" ); }
Solr expects the uniqueId to be StrField. If I change the type of
unique id in schema.xml to long then it would be solr.TrieLongField.

As you can see, solr's query evaluation component would throw an
exception.

btw, I am using Solr 1.4.1

Thanks,
Sharath

Xiaodan Zhang

unread,
Aug 3, 2011, 1:21:24 PM8/3/11
to zo...@googlegroups.com
Just some of my own experience with solr and zoie

I'm using solr 1.4.1 + zoie

Say you we have two cores
I put zoie plugin jar into the following  folder.

core1/lib
core2/lib

They are working pretty well unless I got these exceptions below frequently

I was wondering if there will be zoie plugin that supports solr 3.1.


org.apache.lucene.store.AlreadyClosedException: this IndexReader is closed
         at org.apache.lucene.index.IndexReader.ensureOpen(IndexReader.java:209)
         at org.apache.lucene.index.DirectoryReader.docFreq(DirectoryReader.java:630)
         at org.apache.lucene.index.FilterIndexReader.docFreq(FilterIndexReader.java:195)
         at org.apache.lucene.index.MultiReader.docFreq(MultiReader.java:347)
         at org.apache.solr.search.SolrIndexReader.docFreq(SolrIndexReader.java:308)
         at org.apache.lucene.search.IndexSearcher.docFreq(IndexSearcher.java:147)
         at org.apache.lucene.search.Similarity.idfExplain(Similarity.java:765)
         at org.apache.lucene.search.TermQuery$TermWeight.<init>(TermQuery.java:46)
         at org.apache.lucene.search.TermQuery.createWeight(TermQuery.java:146)
         at org.apache.lucene.search.BooleanQuery$BooleanWeight.<init>(BooleanQuery.java:184)
         at org.apache.lucene.search.BooleanQuery.createWeight(BooleanQuery.java:415)
         at org.apache.lucene.search.Query.weight(Query.java:99)
         at org.apache.lucene.search.Searcher.createWeight(Searcher.java:230)
         at org.apache.lucene.search.Searcher.search(Searcher.java:171)
         at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:988)
         at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:884)
         at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:341)
         at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:182)
         at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:195)
         at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
         at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
         at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
         at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
         at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
         at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
         at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
         at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
         at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
         at org.mortbay.jetty.Server.handle(Server.java:285)
         at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
         at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:835)
         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:641)
         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:202)
         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:378)
         at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:226)
         at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)

RequestURI=/solr/literature/select/







Thanks,
Sharath

Reply all
Reply to author
Forward
0 new messages