How to deal with two versions of solr installations in zeppelin - solr

I am using zeppelin to visualize the solr data, i am using this 3rd party interpreter (https://github.com/lucidworks/zeppelin-solr/).
Now the issue is, i have two versions of solr installed on two different containers like version 6 & 8.
But in Zeppeline Solr insterpreter, i can only have one BASEURL, where i can only access solr 6 or solr 8.
How to deal in this case?
I haven't fond any solution, but in worst case, i need to run zeppelin in two different containers to access the two different versions of Solr

Related

Can I use 2 Solr cores for reindexing and searching simultaneously?

I am using the Collective Solr 4.1.0 Search on our Plone 4.2.6 system.
I am running a solr_core on my server that is currently being used by our Plone live system's search. Now I want to build a new index but without shutting down the live system search for 10 or more hours (time for reindexing). Doing that on the same core is only available on collective.solr 5.0 and higher versions. See collective.solr changelog.
Is there way for me to build a new index on another core while still being able to use the search on the currently used core? I thought of it like this: live_system uses core_1 for query and builds a new index on core_2. Once the index is built, switch both cores so that the live_system now uses core_2 for its search.
I know there is a way to load an already built Solr index into a Solr core, but I can't figure out how do accomplish this switcheroo I'm thinking of.
Kindly check the Master- Slave architecture. That might can help here !!
Check the following link- https://cwiki.apache.org/confluence/display/solr/Index+Replication

Is it possible to upgrade from Solr 4.x directly to Solr 6.1?

We are looking to upgrade from SolrCloud 4.10.3 to SolrCloud 6.1. The documentation for Solr 6.1 is not very clear on backward compatibility.
I came across this post on the LucidWorks site.
The index format is backward compatible between two consecutive major
Solr versions. So a Solr 3.x index is compatible with a Solr 4.x
index. However if you have a Solr 1.x index and want to upgrade to
Solr 4.x then you would need to first upgrade to Solr 3.x first.
It was written before Solr 6.x was out, and the wording of "between two consecutive major Solr versions" is unclear. The example skips the exact scenario that I'm interested in (skipping exactly 1 major version).
Do I have to first upgrade to Solr 5.x and then go to Solr 6.1?
Since I face same situation on upgrading SOLR from 4.x to 6.x I have been lucky and found on git hub next script, that is making the upgrade:
https://github.com/cominvent/solr-tools.git/
All the credits goes to "cominvent" for this script.
Since the folder cores vers 4.x structure is not same with version 6.x I have made a script that is creating the right tree configuration, then is applying upgradeindex.sh.
The script (buildsorltree.sh) can be found on https://github.com/cradules/bash_scripts and the repo dose have upgradeindex.sh too. Since I have linked this too scripts, I put them on same repo. Good luck!
I was able to find this on the Apache website.
Solr 6 has no support for reading Lucene/Solr 4.x and earlier indexes.
Be sure to run the Lucene IndexUpgrader included with Solr 5.5 if you
might still have old 4x formatted segments in your index.
Alternatively: fully optimize your index with Solr 5.5 to make sure it
consists only of one up-to-date index segment.
So this means that you can upgrade directly, but only if you run the IndexUpgrader from Solr 5.5 first.

Solr luceneMatchVersion syntax

I have Solr 4.10 and I have collection on it with solorconfig.xml has the value for <luceneMatchVersion> as follows:
<luceneMatchVersion>4.7</luceneMatchVersion>
Is this correct? I saw other examples that has values such as LUCENE_35 What I need to know also, how could I express LUCENE_xx from my current Solr version?
You should use:
<luceneMatchVersion>4.10.4</luceneMatchVersion>
I recommend you to check your current solr version, in my case was 4.10.4.
if you are going to reindex, then both numbers should match. The only reason you might want to have them different, is if you had and index created with say Lucene 4.7, then you would have
<luceneMatchVersion>4.7</luceneMatchVersion>
Then, you upgrade lucene to 4.10.
Now, if among the changes in between 4.7 and 4.10 there are things that work differently regarding analysis (you get the same sentence analysed in both versions and get different output as a result), then, you might want to keep the version number at 4.7, otherwise some queries that contain affected terms might not work (as they were analysed at index time in a different way than at query time). You have to asses how critical that issue might be.
That is why the recommendation is to upgrade, change the setting to the current number, and reindex. This way you are sure to avoid any issue.
If anyone is using Drupal, the Search API Solr (search_api_solr) module has config templates by version in /sites/all/modules/search_api_solr/solr-conf/.
The template README.md states the following:
The solr-conf-templates directory contains config-set templates for
different Solr versions.
These are templates and are not to be used as config-sets!
To get a functional config-set you need to generate it via the Drupal
admin UI or with drush solr-gsc. See README.md in the module
directory for details.
The module's README.md lists these instructions:
Make sure you have Apache Solr started and accessible (i.e. via port 8983). You can start it without having a core configured at
this stage.
Visit Drupal configuration (/admin/config/search/search-api) and create a new Search API Server according to the search_api
documentation using "Solr" as Backend and the connector that
matches your setup. Input the correct core name (which you will
create at step 4, below).
Download the config.zip from the server's details page or by using drush solr-gsc with proper options, for example for a server named
"my_solr_server": drush solr-gsc my_solr_server config.zip 8.4.
Copy the config.zip to the Solr server and extract.
I generated a config file for 8.x, and it uses this:
<luceneMatchVersion>${solr.luceneMatchVersion:LUCENE_80}</luceneMatchVersion>

Apache Solr setup for two diffrent projects

I just started using apache solr with it's data import functionality on my project
by following steps in http://tudip.blogspot.in/2013/02/install-apache-solr-on-ubuntu.html
but now I have to make two different instances of my project on same server with different databases but with same configuration of solr for both projects. How can I do that?
Please help me if anyone can?
Probably the closest you can get is having two different Solr cores. They will run under the same server but will have different configuration (which you can copy paste).
When you say "different databases", do you mean you want to copy from several databases into one join collection/core? If so, you just define multiple entities and possibly multiple datasources in your DataImportHandler config and run either all of them or individually. See the other question for some tips.
If, on the other hand, you mean different Solr cores/collections, then you just want to run Solr with multiple cores. It is very easy, you just need solr.xml file above your collection level as described on the Solr wiki. Once you get the basics, you may want to look at sharing instance directories and having separate data directories to avoid changing the same config twice (instanceDir vs. dataDir settings on each core).

Multiple Solr One Application Server (Jboss 7.1)

Is it possibile to have multiple Solrs in the same application server?
If yes, how can I do it?
Im in need of 3 Solr instance and I want them running at the same application server.
Im using Solr 3.6 and Jboss 7.1
Thanks in advance!
It basically depends on what exactly your requirement is.
If your requirement is just to have 3 separate indexes to search upon 3 different modules within a single application, you could probably go with multiple cores in same Solr server.
Refer http://wiki.apache.org/solr/CoreAdmin for more details regarding Solr cores.
If you are planning to host a separate search server for 3 independent applications, then I would suggest you go with 3 Solrs on different ports, as given in above answer.
Yes. You can deploy them on different ports.
http://localhost:8080/solr1
http://localhost:8081/solr2
http://localhost:8082/solr3
and so on.
Check out the instructions from this link http://wiki.apache.org/solr/SolrJBoss

Resources