lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Lawson <jlaw...@opensourceconnections.com>
Subject Re: Solr Cloud and Multi-word Synonyms :: synonym_edismax parser
Date Wed, 01 Jun 2016 21:43:04 GMT
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" <john@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 <
> john@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 <
> > john@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 <
> >> john@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 <mjsminkey@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 <
> >>>> john@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 <
> mjsminkey@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 <apache@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
> >>>> > > >
> >>>> > > >
> >>>> > >
> >>>> >
> >>>>
> >>>
> >>>
> >>
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message