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
Related
I have consolidated 3 different alfresco application, initially we have 3 separate applications in alfresco.
but now we have consolidated those 3 applications and all applications repository layer code is running on single instance and there are 3 different share instances.
But here alfresco OOTB search functionality is not working properly.
I also found the root cause that all 3 applications are having search.get.js file
but for all these application we have some custom code in each file.
so can anyone please suggest me the way to use all 3 search.get.js files to achieve search functionality.
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
Due to security reasons, I wish to restrict access to Solr server to particular IP's only. Since Solr 5 runs as a standalone server, could someone please let me know how can I do this restriction.
I did try searching for a solution, but all I could come up with were solutions related to Solr 4 and previous versions in which Solr war was deployed in containers and not standalone.
Thanks in advance !!!
I am about to install Solr on a production box. It will be the only Java applet running and be on the same box as the web server (nginx).
It seems there are two options.
Install Jetty separately and configure to use with Solr
Set Solr's embedded Jetty server to start as a service and just use that
Is there any performance benefit in having them separate?
I am a big fan of KISS, the less setup the better.
Thanks
If you want KISS there is no question: 2. stick to vanilla Solr distrib with included jetty.
Doing the work of installing an external servlet engine would make sense if you needed Tomcat for example, but just to use the same thing (Jetty) Solr already includes...no way.
Solr is still using jetty 6. So there would be some benefits if you can get the solr application to run in a recent jetty distribution. For example you could use jetty 9 and use features like SPDY to enhance the response times of your application.
However I have no idea or experience if it's possible to run the solr application standalone in a servlet engine.
Another option for running Solr and keeping it simple is to use Solr-Undertow which is a high performance with small footprint server for Solr. It is easy to use on local machines for development and also production. It supports simple config files for running instances with different data directories, ports and more. It also can run just by pointing it at a distribution .zip file without needing to unpack it.
(note, I am the author of Solr-Undertow)
Link here: https://github.com/bremeld/solr-undertow with releases under the "Releases" tab.
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).