FAQ & API Documentation

Select a category on the left, to get your answers quickly

In this clip we will talk about some of the most common drupal configuration issues, based on the solr configuration files provided by the Drupal search api module.

Please be advised that, your Opensolr Index may fail to reload, when using AnalyzingInfixSuggester

You can click here to learn more.

The error is reproduced mainly for Drupal indexes, when using the folowing suggester:

<searchComponent name="suggester" class="solr.SuggestComponent"
    <lst name="suggester">
      <str name="name">default_infix</str>
      <str name="lookupImpl">AnalyzingInfixLookupFactory</str>
      <str name="indexPath">suggester_infix_data</str>
      <str name="dictionaryImpl">DocumentDictionaryFactory</str>
      <str name="field">autocomplete</str>
      <str name="weightField">weigh_dummy</str>
      <str name="suggestAnalyzerFieldType">text_autocomplete</str>
      <str name="buildOnStartup">true</str>
      <str name="buildOnCommit">true</str>
    <lst name="suggester">
      <str name="name">default_fuzzy</str>
      <str name="lookupImpl">FuzzyLookupFactory</str>
      <str name="storeDir">suggester_fuzzy_data</str>
      <str name="dictionaryImpl">DocumentDictionaryFactory</str>
      <str name="field">autocomplete</str>
      <str name="weightField">weigh_dummy</str>
      <str name="suggestAnalyzerFieldType">text_autocomplete</str>
      <str name="buildOnStartup">true</str>
      <str name="buildOnCommit">true</str>


ICU library erorrs

While uploading, or saving your config files, via the Opensolr editor, you might probably come across an error that reads something like this:

Error loading class 'solr.ICUCollationField'

The problem is that we will have to enable that library on our end.
Therefore, if you encounter this, please Contact Us in order to request the ICU library to be activated for your server.
If unsure what type of error you're getting, you can always see your Error Logs once you've uploaded your config files, by Clicking your Index Name->Tools->Error Logs

Opensolr Error Logs

Some issues to be mindful about.

Drupal, has changed the way it works, and now, for path, it only requires you to have a SLASH.
Basically, what we call Path (/solr/index_name), in Opensolr, it should be / for your Drupal setup.
And what Drupal calls SolrCore, should be the Name of your Opensolr Index.

Also, if you use Opensolr in SolrCloud mode, please note that the solr server path is /solrcloud instead of /solr. (i.e.: https://server.opensolr.com/solrcloud/index_name/select?...)

So, unless Drupal has decided to hard-code the /solr part of the connection URL, you should be able to use your Opensolr SolrCloud Index, and set your path, in Drupal as /solrcloud, instead of / (slash).

Ultimately, we will help you upload your config files, regardless of the Solr Version you decide to use, as usual, we'll do this for free, and, instantly, during our office hours.

You might also want to watch the clip about all external integration issues.

Opensolr connection to Drupal

It is a common misconception, that, if your Drupal module, or any other Solr plugin, requires, say, Solr Version 6.4.x, and Opensolr only provides Solr version 6.1.x, you can't use it with Opensolr.

With small modifications to your Solr config files, we can make your config files work on any of our Solr versions, without any impact on your Solr integration, or functionality overall.

Of course, migrating from one major Solr Version to another, isn't that straight forward, but, we can even, do that.
However, I can't stress enough that, migration between any Solr minor Versions is not only possible, it's even recommended, since we'll do it all for you, if you want to save time, and money, since, of course, Opensolr also offers FREE membership now.

It has also been a common misconception, that, your Opensolr connection URL returns 404 NOT FOUND, and therefore, it can not be used, and something must be broken.

In your Opensolr Control Panel, you will see your connection url as something like the following:
Now, that URL, will always return an HTTP STATUS 404 NOT FOUND.

Ironically, that means everything is OK.
Your application will use that, as a base connection URL, and append other Solr Request Handlers to it, as you can see in this example:

We have added the /select Request Handler, and that very same connection URL is now responding with a full Solr json format response.

It's an OpenSolr Miracle! 

If you get the error:

Undefined field _text_

Please make sure to open up solrconfig.xml in your Opensolr Control Panel Admin UI and remove the reference to the _text_ field under the /update initParams:


The setting you need has to do with formdataUploadLimitInKB that is found in solrconfig.xml
If you take a look at your solrconfig.xml file, there is an area that sets that up.
Open up your opensolr index:
Go to the Config Files Editor tab
Select solrconfig.xml
Scroll down until you see a directive like:
There, you'll see the settings:
So,  is what you needed to change in your own solrconfig.xml file in your indexes.
HOWEVER #1: If you need a ridiculous amount of boolean clauses (as solr calls them), you won't be able to do it, since solr will always return an error: too many boolean clauses
You can fix that, by increasing the parameter maxBooleanClauses in your solrconfig.xml
HOWEVER #2: For better query performance, you could use or think of different alternative techniques to your issue, such as maybe split your very large 1 query into multiple queries and aggregate the results in your own app.
For example:
Query 1: 
https://opensolr-server.solrcluster.com/solr/production/select?q=*:*&fq=field_name:(VAL1 OR ... OR VALn)
- where n is a number that is less than the maxBooleanClauses set in your solrconfig.xml
Query 2: 
https://opensolr-server.solrcluster.com/solr/production/select?q=*:*&fq=field_name:(VALn+1 OR ... OR VALm)
- where m is a number that is less than the maxBooleanClauses set in your solrconfig.xml
Query i... (you get the point)
You then merge the results from all those queries.
You can figure out the number of queries you have to make by dividing the number of OR clauses you need by the maxBooleanClauses setting in your solrconfig.xml
And, needless to say, if you have your data replicated on multiple servers behind a load balancer (AKA our Opensolr Resilient Cluster Solution),  your multiple queries would be load balanced, which in return results in much faster queries and better resiliency.

YES, however, it's only active in some servers right now.
Please ask us to install that, or any other plugin solr library, by following the guide here, and we'll be happy to set it up for you.

You send it to support@opensolr.com and one of our tech people will install it in the server you're using (you'll need to specify the index name for us to be able to identify the server), within about 24 hours (usually just takes a couple of hours if the plugin is fully compatible, and all goes ok)

Make sure you send the .jar it's self, and would help if you also make sure that it's also compatible with the opensolr version you're currently using in your opensolr control panel.

Please don't send git repositories, as we won't build the .jar library on our end.

Sometimes, in the shared opensolr cloud, the data folder may get corrupted, so it can't be read from or written into.
One easy fix for this, is to simply remove your index, and then just create another one, preferably under another name.

If that doesn't work, please contact us, and we'll be happy to fix it up for you.

Also, keep in mind, that there may be more reasons, so please make sure to check your error log, by clicking the Error Log button inside your opensolr index control panel, and keep refreshing that page to make sure the errors you'll see are accurate.

If you do see errors in there, please email them to us, at support@opensolr.com and we'll fix it for you.