1
votes

I am new to Solr.

I have created two cores from the admin page, let's call them "books" and "libraries", and imported some data there. Everything works without a hitch until I restart the server. When I do so, one of these cores disappears, and the logging screen in the admin page contains:

SEVERE  CoreContainer  null:java.lang.NoClassDefFoundError: net/arnx/jsonic/JSONException
SEVERE  SolrCore       REFCOUNT ERROR: unreferenced org.apache.solr.core.SolrCore@454055ac (papers) has a reference count of 1

I was testing my query in the admin interface; when I refreshed it, the "libraries" core was gone, even though I could normally query it just a minute earlier. The contents of solr.xml are intact. Even if I restart Tomcat, it remains gone.

Additionally, I was trying to build a query similar to this: "Find books matching 'war peace' in libraries in Atlanta or New York". So given cores "books" and "libraries", I would issue "books" the following query (which might be wrong, if it is please correct me):

(title:(war peace) blurb:(war peace))
AND _query_:"{!join
fromIndex=libraries from=libraryid to=libraryid
v='city:(new york) city:(atlanta)'}"

When I do so, the query fails with "libraries" core disappears, with the above symptoms. If I re-add it, I can continue working (as long as I don't restart the server or issue another join query).

I am using Solr 4.0; if anyone has a clue what is happening, I would be very grateful. I could not find out anything about the meaning of the error message, so if anyone could suggest where to look for that, or how go about debugging this, it would be really great. I can't even find where the log file itself is located...

3
Were you using the start.jar thing? I would adapt the solr files to (tomcat) or I would not expect cores to persist or logs to be available.Jesvin Jose
In fact the solr.xml is the file containing core information; an entry looks like: <core name="collection1" instanceDir="collection1" />. The web interface persists to this file when you set the option; I quote: "persistent: Save changes made via the API to this file"Jesvin Jose
@aitchnyu: I am not using start.jar, but the Debian package. I know what solr.xml is for, and I checked it to confirm that the core's entry was not deleted when the core became unavailable and disappeared from the admin page. Cores do persist - the data is not lost, and if I add the cores from the admin page, I can access the data again without re-importing. Something happens when cores are loaded from the file that does not happen when they are loaded through the interface, and I do not know what, as the error message is cryptic.Amadan
So cores are not getting reloaded. I would avoid debian packages for solr as I fear quirks and misconfigurations like this and use Solr 4.1 as 4.0 may be quirky (first release in new major version)Jesvin Jose
@aitchnyu: Okay, in API terms: if I issue the RELOAD action, I get an error caused by org.apache.solr.common.SolrException: No such core: libraries. It's not just not reloaded, it does not exist until I re-add add it (using CREATE). I will try to install 4.1, see if that fixes the issue, but I am not confident... I really would like to know what the errors mean :(Amadan

3 Answers

1
votes

I would avoid the Debian package which may be misconfigured and quirky. And it contains (a very early build of?) solr 4.0, which itself may have lingering issues; being the first release in a new major version. The package maintainer may not have incorporated the latest and safest Solr release into his package.

A better way is to download Solr 4.1 yourself and set it up yourself with Tomcat or another servlet container.

0
votes

In case you are looking to install SOLR 4.0 and configure, you can following the installation procedure from here

0
votes

Update the solr config for the cores to be persistent.

In your solr.xml, update <solr> or <solr persistent="false"> to <solr persistent="true">