Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 271 Vote(s) - 3.28 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Solr DataImportHandler not found

#1
I am using [Solr 3.3.0][1] with Tomcat 6.0.26. I was able to successfully install Solr and i was even able to access its web interface using http:/localhost:8084/solr/admin.

Now i want to use its dataimporthandler to index data from my database.I have added following to my solrconfig:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImport
Handler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>

I have also created a data-config.xml in same directory.

My solrconfig file has following location for dataimport

<lib dir="../../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />

And i have checked that dataimporthandler.jar file exist in the dist folder at following path C:\web\solr\example\lib\apache-solr-3.3.0\dist

But whenever I type http:/localhost:8084/solr/dataimport or http:/localhost:8084/solr/admin/dataimport it says resource unavailable. I thought it was dur to some problem with Tomcat setting so i stopped tomcat and tried to start Solr from cmd using java -jar start.jar. And i get the following error

HTTP ERROR 500
Problem accessing /solr/. Reason:
Severe errors in solr configuration.
Check your log files for more detailed information on what may be wrong.
If you want solr to continue after configuration errors, change:

<abortOnConfigurationError>false</abortOnConfigurationError>

in solr.xml

-------------------------------------------------------------
org.apache.solr.common.SolrException: Error loading class
'org.apache.solr.handler.dataimport.DataImportHandler'
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:389)
at org.apache.solr.core.SolrCore.createInstance(SolrCore.java:423)
at org.apache.solr.core.SolrCore.createRequestHandler(SolrCore.java:459)
at
org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:157)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:563)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:463)
at org.apache.solr.core.CoreContainer.load(CoreContainer.java:316)
at org.apache.solr.core.CoreContainer.load(CoreContainer.java:207)
at
org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:130)
at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:94)
at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at
org.mortbay.jetty.handler.ContextHandlerCollection.doStart
(ContextHandlerCollection.java:156)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mortbay.start.Main.invokeMain(Main.java:194)
at org.mortbay.start.Main.start(Main.java:534)
at org.mortbay.start.Main.start(Main.java:441)
at org.mortbay.start.Main.main(Main.java:119)
Caused by: java.lang.ClassNotFoundException:
org.apache.solr.handler.dataimport.DataImportHandler
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.net.FactoryURLClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:373)
... 34 more



[1]:

[To see links please register here]

Reply

#2
As far as you are telling us, your jar file name does not match the supplied regexp:

With the given configuration:

<lib dir="../../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />

The file:

dataimporthandler.jar

Does not match the regexp, while it has to, as shown in the [sample configuration file for Solr](

[To see links please register here]

)

Probably start by just specifying:

<lib dir="../../dist/"/>
Reply

#3
I solved this problem by building dataimporthandler jar from the solr source. For 3.1, dataimporthandler is not included in apache-solr-core-3.1.0.jar . I couldn't find the jar file for dataimporthandler, so I built it from the source and put it in my solr lib directory
Reply

#4
The jar you are looking for (at least in 3.5) is under the ./dists folder
Reply

#5
i put solr jars under WEB-INF/lib
Reply

#6
I am using Solr 4.0 with a Glassfish 3.1.2 container and I solved the problem by opening the solr war itself, manually just adding the jar files inside, and redeploying glassfish.
Reply

#7
I've been looking at this problem for a bit on my own, using solr 4.1 and tomcat. I wasn't able to include the library I needed with `<lib dir="../../dist/" regex="solr-dataimporthandler-.*\.jar" /> -->`, which I figured had to be correct because from the directory that I had the solrconfig.xml in, it was two directories up and one down to dist. It wasn't until I temporarily subbed in the direct path (for me, /opt/solr/dist) that I realized that the problem was that I was starting from the wrong directory. It turns out that what I needed was:

<lib dir="../dist/" regex="solr-dataimporthandler-.*\.jar" /> -->

So, if you're having trouble with including this, check that you're starting from the directory that contains your conf directory, and not the conf directory itself.
Reply

#8
Make sure you have following three required fields correct.

1) A entry for dataimport handler in solr-conf.xml

</requestHandler>
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>

2) Your Solr war file is aware of solr-home folder , and hence the libraries included in solr-home. If solr-home is added explicitly.

# To make your solr.war aware of solr-home folder deploy the solr.war at server.
# Go to apache-tomcat-6.0.36/webapps/solr/WEB-INF and open web.xml in any text editor.
# Now search for the entry showing below

<!-- <env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value> /Path/To/My/solr/Home/solr/</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry> -->

# replace <env-entry-name> value to the solr-home folder in your case. This will make solr, point solr-home folder hence lib folder inside it.

3) Add your new libraries location to /home/javaguys/solr-home/collection1/conf/solr-config.xml. just under <config> tag like <lib dir="/home/javaguys/solr-home/lib" />.


This will solve your problem i hope, for more information please check out this [solution here.][1]


[1]:

[To see links please register here]

Reply

#9
Had this problem twice, on Windows Tomcat, and Ubuntu Tomcat.
<BR>
SOLR 4.3, and Tomcat 7
<BR>

Make sure that the file below is in the SOLR_Home /lib folder
<BR>
solr-dataimporthandler-4.3.0.jar
<BR>

As mentioned above you also need the reference in the config file. Adjust the path as needed.
<BR>

`<lib dir="../../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />`

I might have some paths messed up, but that is how I got it to work.
Reply

#10
It seems that for several versions of Solr including 4.3, the dataimport handler jar is not included in the final war file when you build from source.

There is a very simple fix to this by modifying the file /solr/webapp/build.xml.

1. Open that file and find the "dist" target.
2. Find this section of the "dist" target:<p>
` <lib dir="${dist}" excludes="${exclude.from.war},${common.classpath.excludes}">`
3. Add this item to the list of includes in that section: <p>
` <include name="apache-solr-dataimporthandler-${version}.jar" />`

Save and exit.

Now, when you build, do the following:

- ant dist-contrib
- ant dist

To verify that the dataimporthandler jars are in your WAR file, unpack it, and look for it among the jars in the WEB-INF/lib directory.

Some variation of this will probably work for earlier versions too.
Reply



Forum Jump:


Users browsing this thread:
2 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through