I mean the 5.0 namespace is different from the 2.0 not 3.0. On Jun 1, 2016 5:43 PM, "Joe Lawson" <jlaw...@opensourceconnections.com> wrote:
2.0 is different from 3.0 so check the test config that is associated with the 2.0 release. Ie https://github.com/healthonnet/hon-lucene-synonyms/blob/8f736da053510911517fcb8a712b1d8ca5c920d2/src/test/resources/solr/collection1/conf/example_solrconfig.xml <queryParser name="synonym_edismax" class="solr.SynonymExpandingExtendedDismaxQParserPlugin"> On Jun 1, 2016 3:10 PM, "John Bickerstaff" <j...@johnbickerstaff.com> wrote: > @Joe: > > Is it possible that the jar's package name does not match the entry in the > sample solrconfig.xml file? > > The solrconfig.xml example file in the test directory contains the > following package name: > <queryParser name="synonym_edismax" > > class="com.github.healthonnet.search.SynonymExpandingExtendedDismaxQParserPlugin"> > > However, the jar file (when unzipped) has the following directory structure > down to the same class name: > > org --> apache --> solr --> search > > I just tried with the name change to the org.apache.... package name in the > solrconfig.xml file and got no errors. > > I haven't yet tried to see synonym "stuff" in the debug for a query, but > I'm betting it's much ado about nothing - just the package name has > changed... > > If that makes sense to you, you may want to edit the example file... > > Thanks a lot for all the work you contributed to this by the way! > > --JohnB > > @ MaryJo - this may be the problem in your situation for this specific file > -- good luck! > > I put it in $SOLR_HOME/lib - which, taking the default "for production" > install script on Ubuntu resolved to /var/solr/data/lib > > Good luck! > > On Wed, Jun 1, 2016 at 12:49 PM, John Bickerstaff < > j...@johnbickerstaff.com> > wrote: > > > I tried this - it didn't fail. I don't know if it really started in > > Denable.runtime.lib=true mode or not: > > > > service solr start -Denable.runtime.lib=true > > > > Of course, I'd still really rather be able to just drop jars into > > /var/solr/data/lib and have them work... > > > > Thanks all. > > > > On Wed, Jun 1, 2016 at 12:42 PM, John Bickerstaff < > > j...@johnbickerstaff.com> wrote: > > > >> So - the instructions on using the Blob Store API say to use the > >> Denable.runtime.lib=true option when starting Solr. > >> > >> Thing is, I've installed per the "for production" instructions which > >> gives me an entry in /etc/init.d called solr. > >> > >> Two questions. > >> > >> To test this can I still use the start.jar in /opt/solr/server as long > as > >> I issue the "cloud mode" flag or does that no longer work in 5.x? > >> > >> Do I instead have to modify that start script in /etc/init.d ? > >> > >> On Wed, Jun 1, 2016 at 10:42 AM, John Bickerstaff < > >> j...@johnbickerstaff.com> wrote: > >> > >>> Ahhh - gotcha. > >>> > >>> Well, not sure why it's not picked up - seems lots of other jars are... > >>> Maybe Joe will comment... > >>> > >>> On Wed, Jun 1, 2016 at 10:22 AM, MaryJo Sminkey <mjsmin...@gmail.com> > >>> wrote: > >>> > >>>> That refers to running Solr in cloud mode. We aren't there yet. > >>>> > >>>> MJ > >>>> > >>>> > >>>> > >>>> On Wed, Jun 1, 2016 at 12:20 PM, John Bickerstaff < > >>>> j...@johnbickerstaff.com> > >>>> wrote: > >>>> > >>>> > Hi Mary Jo, > >>>> > > >>>> > I'll point you to Joe's earlier comment about needing to use the > Blob > >>>> Store > >>>> > API... He put a link in his response. > >>>> > > >>>> > I'm about to try that today... Given that Joe is a contributor to > >>>> > hon_lucene.... there's a good chance his experience is correct here > - > >>>> > especially given the evidence you just provided... > >>>> > > >>>> > Here's a copy - paste for your convenience. It's a bit convoluted, > >>>> > although I totally get how this kind of approach is great for large > >>>> Solr > >>>> > Cloud installations that have machines or VMs coming up and going > >>>> down as > >>>> > part of a services-based approach... > >>>> > > >>>> > Joe said: > >>>> > The docs are out of date for the synonym_edismax but it does work. > >>>> Check > >>>> > out the tests for working examples. I'll try to update it soon. I've > >>>> run > >>>> > the plugin on Solr 5 and 6, solrcloud and standalone. For running in > >>>> > SolrCloud make sure you follow > >>>> > > >>>> > > >>>> > https://cwiki.apache.org/confluence/display/solr/Adding+Custom+Plugins+in+SolrCloud+Mode > >>>> > > >>>> > On Wed, Jun 1, 2016 at 10:15 AM, MaryJo Sminkey < > mjsmin...@gmail.com> > >>>> > wrote: > >>>> > > >>>> > > So we still can't get this to work, here's the latest update my > >>>> server > >>>> > guy > >>>> > > gave me: It seems to not matter where the file is located, it does > >>>> not > >>>> > > load. Yet, the the Solr Java class path shows the file has loaded. > >>>> Only > >>>> > > this path (./server/lib/hon-lucene-synonyms-2.0.0.jar) will work > in > >>>> that > >>>> > it > >>>> > > loads in the java class path. I've yet to find out what the error > >>>> is. > >>>> > All > >>>> > > I can see is this "Error loading class". Okay, but why? What error > >>>> was > >>>> > > encountered in trying to load the class? I can't find any of this > >>>> > > information. I'm trying to work with the documentation that is > >>>> located > >>>> > here > >>>> > > http://wiki.apache.org/solr/SolrPlugins > >>>> > > > >>>> > > I found that the jar file was put into each of these locations in > an > >>>> > > attempt to find a place where it will load without error. > >>>> > > > >>>> > > find .|grep hon-lucene > >>>> > > > >>>> > > ./server/lib/hon-lucene-synonyms-2.0.0.jar > >>>> > > > >>>> > > ./server/solr/plugins/hon-lucene-synonyms-2.0.0.jar > >>>> > > > >>>> > > ./server/solr/classic_newdb/lib/hon-lucene-synonyms-2.0.0.jar > >>>> > > > >>>> > > ./server/solr/classic_search/lib/hon-lucene-synonyms-2.0.0.jar > >>>> > > > >>>> > > > >>>> ./server/solr-webapp/webapp/WEB-INF/lib/hon-lucene-synonyms-2.0.0.jar > >>>> > > > >>>> > > The config specifies that files in certain paths can be loaded as > >>>> > plugins > >>>> > > or I can specify a path. Following the instructions I added this > >>>> path > >>>> > > > >>>> > > <lib > >>>> > > > >>>> dir="${solr.install.dir:../../../..}/contrib/hon-lucene-synonyms/lib" > >>>> > > regex=".*\.jar" /> > >>>> > > > >>>> > > And I put the jar file in that location. This did not work > either. > >>>> I > >>>> > also > >>>> > > tried using an absolute path like this. > >>>> > > > >>>> > > <lib > >>>> > > > >>>> > > > >>>> > > >>>> > dir="/opt/solr/contrib/hon-lucene-synonyms/lib/hon-lucene-synonyms-2.0.0.jar" > >>>> > > /> > >>>> > > > >>>> > > This did not work. > >>>> > > > >>>> > > > >>>> > > > >>>> > > I'm starting to think this isn't a configuration problem, but a > >>>> > > compatibility problem. I have not seen anything from the maker of > >>>> this > >>>> > > plugin that it works on the exact version of Solr we are using. > >>>> > > > >>>> > > > >>>> > > > >>>> > > > >>>> > > > >>>> > > The best info I have found so far in the logs is this stack trace > >>>> of the > >>>> > > error. It still does not say why it failed to load. > >>>> > > > >>>> > > 2016-06-01 00:22:13.470 ERROR (qtp2096057945-14) [ ] > >>>> > o.a.s.s.HttpSolrCall > >>>> > > null:org.apache.solr.common.SolrException: SolrCore > >>>> 'classic_search' is > >>>> > not > >>>> > > available due to init failure: Error loading class > >>>> > > 'com.github.healthonnet.search.Syno > >>>> > > > >>>> > > nymExpandingExtendedDismaxQParserPlugin' > >>>> > > > >>>> > > at > >>>> > > org.apache.solr.core.CoreContainer.getCore(CoreContainer.java:993) > >>>> > > > >>>> > > at > >>>> > org.apache.solr.servlet.HttpSolrCall.init(HttpSolrCall.java:249) > >>>> > > > >>>> > > at > >>>> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:411) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:222) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:181) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > >>>> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > >>>> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) > >>>> > > > >>>> > > at > >>>> > > > >>>> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) > >>>> > > > >>>> > > at org.eclipse.jetty.server.Server.handle(Server.java:499) > >>>> > > > >>>> > > at > >>>> > > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > >>>> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > >>>> > org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) > >>>> > > > >>>> > > at java.lang.Thread.run(Thread.java:745) > >>>> > > > >>>> > > Caused by: org.apache.solr.common.SolrException: Error loading > class > >>>> > > > >>>> > > >>>> > 'com.github.healthonnet.search.SynonymExpandingExtendedDismaxQParserPlugin' > >>>> > > > >>>> > > at org.apache.solr.core.SolrCore.<init>(SolrCore.java:824) > >>>> > > > >>>> > > at org.apache.solr.core.SolrCore.<init>(SolrCore.java:665) > >>>> > > > >>>> > > at > >>>> > > org.apache.solr.core.CoreContainer.create(CoreContainer.java:742) > >>>> > > > >>>> > > at > >>>> > > org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:462) > >>>> > > > >>>> > > at > >>>> > > org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:453) > >>>> > > > >>>> > > at > java.util.concurrent.FutureTask.run(FutureTask.java:266) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor$1.run(ExecutorUtil.java:232) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > >>>> > > > >>>> > > ... 1 more > >>>> > > > >>>> > > Caused by: org.apache.solr.common.SolrException: Error loading > class > >>>> > > > >>>> > > >>>> > 'com.github.healthonnet.search.SynonymExpandingExtendedDismaxQParserPlugin' > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:559) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:490) > >>>> > > > >>>> > > at > >>>> > org.apache.solr.core.SolrCore.createInstance(SolrCore.java:573) > >>>> > > > >>>> > > at > >>>> > org.apache.solr.core.PluginBag.createPlugin(PluginBag.java:123) > >>>> > > > >>>> > > at org.apache.solr.core.PluginBag.init(PluginBag.java:223) > >>>> > > > >>>> > > at org.apache.solr.core.PluginBag.init(PluginBag.java:212) > >>>> > > > >>>> > > at org.apache.solr.core.SolrCore.<init>(SolrCore.java:768) > >>>> > > > >>>> > > ... 9 more > >>>> > > > >>>> > > Caused by: java.lang.ClassNotFoundException: > >>>> > > > >>>> > com.github.healthonnet.search.SynonymExpandingExtendedDismaxQParserPlugin > >>>> > > > >>>> > > at > >>>> java.net.URLClassLoader.findClass(URLClassLoader.java:381) > >>>> > > > >>>> > > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > >>>> > > > >>>> > > at > >>>> > > java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:814) > >>>> > > > >>>> > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > >>>> > > > >>>> > > at java.lang.Class.forName0(Native Method) > >>>> > > > >>>> > > at java.lang.Class.forName(Class.java:348) > >>>> > > > >>>> > > at > >>>> > > > >>>> > > > >>>> > > >>>> > org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:543) > >>>> > > > >>>> > > ... 15 more > >>>> > > > >>>> > > So we're giving up on this one, unless someone knows for sure it > >>>> will > >>>> > work > >>>> > > on standalone Solr installs on 5.4+. Because as far as we can > tell, > >>>> it > >>>> > > simply doesn't work. > >>>> > > > >>>> > > > >>>> > > Mary Jo > >>>> > > > >>>> > > > >>>> > > > >>>> > > On Wed, Jun 1, 2016 at 1:35 AM, Shawn Heisey <apa...@elyograg.org > > > >>>> > wrote: > >>>> > > > >>>> > > > On 5/31/2016 3:13 PM, John Bickerstaff wrote: > >>>> > > > > The suggestion on the readme is that I can drop the > >>>> > > > > hon_lucene_synonyms jar file into the $SOLR_HOME directory, > but > >>>> this > >>>> > > > > does not seem to be working - I'm getting class not found > >>>> exceptions. > >>>> > > > > >>>> > > > What I typically do with *all* extra jars (dataimport, mysql, > ICU > >>>> jars, > >>>> > > > etc) is put them into $SOLR_HOME/lib ... a directory that you > will > >>>> > > > usually need to create. If the installer script is used with > >>>> default > >>>> > > > options, that directory will be /var/solr/data/lib. > >>>> > > > > >>>> > > > Any jar that you place in that directory will be loaded once at > >>>> Solr > >>>> > > > startup and available to all cores. The best thing about this > >>>> > directory > >>>> > > > is that it requires zero configuration. > >>>> > > > > >>>> > > > For 5.3 and later, loading jars into > >>>> > > > server/solr-webapp/webapp/WEB-INF/lib should also work, but then > >>>> you > >>>> > are > >>>> > > > modifying the actual Solr install, which I normally avoid > because > >>>> it > >>>> > > > makes it a little bit harder to upgrade Solr. > >>>> > > > > >>>> > > > > Does anyone on this list have direct experience with getting > >>>> this > >>>> > > > > plugin to work in Solr 5.x? > >>>> > > > > >>>> > > > I don't have any experience with that specific plugin, but I > have > >>>> > > > successfully used other plugin jars with the lib directory > >>>> mentioned > >>>> > > above. > >>>> > > > > >>>> > > > Thanks, > >>>> > > > Shawn > >>>> > > > > >>>> > > > > >>>> > > > >>>> > > >>>> > >>> > >>> > >> > > >