Search engine for Apache Derby - solr

I would like use a search engine for my application with Apache Derby database (contatin around 10k rows with text).
For web projects I used an elasticsearch, but it a desktop application. I would like to use an elasticksearch or solr for this app. It possible run elasticsearch or solr for it? It's require many memory or run in other (not application) thread, or have an alternative for derby?

There is a Lucene-Derby integration as part of this summer's release of Derby: https://issues.apache.org/jira/browse/DERBY-590
The development is complete; it is in testing. You can get access to it now, and give feedback to the development team about how it works for you.

Related

How to integrate apache solr in apache tomcat 7?

Is there any way to integrate apache solr in tomcat 7 or do I have to run two servers in my application? Can in run apache solr within tomcat and not as a separate server?
The official answer is: Run it as a stand alone application.
No Longer Supported
Beginning with Solr 5.0, Support for deploying Solr as a WAR in servlet containers like Tomcat is no longer supported.
For information on how to install Solr as a standalone server, please see Installing Solr.
Background about the the decision for this move can be found on the Solr Wiki.
Solr is intended to be a server not a Java web application, similar to mysql or the Apache web server. When Solr was first created, designing it as a web application was a convenient choice, to avoid writing a lot of tricky code to build a network layer. These days, this design decision has become a limiting factor.
When you download Solr and install it onto your machine, it should be Solr that gets started. It should not be necessary to install Solr into a third-party application (servlet container) before it will work.
At this time, Solr is still a webapp, but this is an internal implementation detail, not an immutable property. The intention is to make Solr into a completely standalone application. Startup scripts that start the included container are the first step towards that goal. Jetty might still be the technology used once Solr is a standalone application, but if that happens, it will be internally embedded.
Solr is still a web app. They are suggesting that not to use it in another servlet container as its not been recommended and tested by them.
They are giving a fully tested system and don't want others(developers) to invest time in testing it with other containers.
I have used solr 3.4 version and deployed it in tomcat server on port 8080.
My application is deployed in another tomcat at 8080 port and is on another machine.
I have created the solr war and deployed the same in tomcat. and only 8080 port of that server is made open and been access by our application only.
I am not sure about the solr version 5 ...i.e. whether that can be deployed in other container other than jetty...but I think it can be deployed in tomcat...you need to try the same...
Other thing is that dont deply application war and solr war in the same container or in a single container. The reason is if one of the application goes down everything will be down.
Like if solr goes down then the application may go down, which is not a good for the application.

Choose Lucene or Solr

We need to integrate a search engine in our plataform Catalog management software in Share point. The information is stored in multiple databases and a storage of files ( doc , ppt , pdf .....). Our dev platform is Asp.Net and we have done some pre-liminary work on Lucene, found it to be good. However, we just came to know of Solr.
We need to continue using lucene, but we need to defend her the solr.
Please any help is accepted.
And sorry for my english.
Lucene is a full-text search library used to provide search functionalities to an application. It can't be used as an application by itself. Solr is a complete search engine built around Lucene providing its search functionalities and others. Solr is a web application that can be used by itself without any development around it.
If you need a search engine to be called by your application I recommend you to use Solr.

Hoster requirements for running Solr

I am planning to add a full-text search engine for searching a MySQL database to a website. Most recommendations on a nice, user-friendly implementation I found, mentioned the use of Apache Solr.
Keeping this in mind I started searching for the requirements for a hoster to use Solr but I didn't find any useful information expect for "it should support java". So I picked a random host that states it has Java JRE installed (http://wiki.dreamhost.com/What_We_Support) and asked if they supported Solr. Unfortunately, the answer was "no".
So, what would I need to be looking for? Do I need a dedicated server, a VPN, or are there shared hosting solutions where it is possible to run Solr?
What are the system requirements?
I hope there is someone out there, who knows a bit about this. Thanks!
The Solr requirements can be found here: https://wiki.apache.org/solr/SolrInstall
So an installed JRE is needed, but also an servlet container, which also needs an JRE.
If I would be in your situation, I would rent an virtual server.
An other option is an hosting service, specialized for solr hosting: search the web for "apache solr hosting". There are offers for free or payed offers also.
I've been running two drupal websites + apache solr on an ssd vps from rosehosting utilizing 2 cpu cores and 1gb ram. I wasn't able to setup apache solr and java myself so that's why I rented a managed vps service.
If you're not that technical I suggest you add managed to the keywords mentioned by #The Bndr and make sure you check with your host that they will support apache solr and java on your vps

Can we use Kibana for Apache Solr not using elasticsearch

How to integrate Kibana with Apache solr instead of using elastic search.
If it cannot be done.
What are the alternatives to Kibana for Solr
At LucidWorks, we have ported Kibana to work with Solr and released it as open source.
If you want a bundled package, you can download that at http://www.lucidworks.com/lucidworks-silk/.
Our port for Kibana for Solr is bundled with Solr 4.7.0 and can be used as a query engine to build dashboards from indexes within the bundled Solr instance and/or located on other Solr instances.
The source code is available at https://github.com/LucidWorks/banana.
We have also included Solr Output Writer for LogStash with that bundle; however, you can use any ETL and indexing mechanism to get time series data into Solr. Links to this github repository are available on the LucidWorks link above.
HUE is an alternative search UI for Solr, while it is not good as Kibana for search at the moment.
You can use SiLK for sure but you are better off using the fully integrated dashboards module that comes with Lucidworks Fusion. Fusion will save you a ton of time and make it easier to focus on the search stuff that matters - like building a recommender engine, creating data-driven user experience, driving data enrichment with entity recognition and integrating with Big Data software like Hadoop.

Install Jetty or run embedded for Solr install

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.

Resources