Solr vs Elastic Search
Solr and Elastic Search are built on top of Lucene. Both are open source and both have extra features which makes programmer life easy. This article explains the difference and the best situation to choose between them.
Solr:
- It acts as a search server.
- It supports Java API and REST interface.
- Document schema and type is required.
- Document (Data) need has to be flat. Nested elements are not allowed.
- Faceted search - Shows count for each categories in the search results.
- Geo spatial search - Search by location and distance. (Search within 5 KM from the current position).
- Has capabilities to import data from database.
- Replication - Index could be replicated and provides support for failover.
- Distributed Search - Search could be performed on multiple shards / indexes and the results will be aggregated.
- Supports near real time search.
- Hit highlighting the search results.
- It has built in capabilities to extract the file contents from the file system and add it as part of index.
- Larger community, a larger user base.
- It acts as a search server.
- It supports Java API and REST interface.
- Document schema and type is NOT required.
- Document (Data) need not to be flat ? they can be nested as they are pure JSON.
- Faceted search - Shows count for each categories in the search results.
- Geo spatial search - Search by location and distance. (Search within 5 KM from the current position).
- Replication - Index could be replicated and provides support for failover.
- Supports near real time search.
- Hit highlighting the search results.
- Distributed Search - Search could be performed on multiple shards / indexes and the results will be aggregated.
- Distributed Indexing - Given the set of nodes, Document should be routed to different shards / index. It could be based on round-robin or some way of hashing.
- It adds and removes nodes and handles the request from the correct node.
- Each node saves its state in the shared storage. When a node comes back after failure or shutdown, It could recover its state from its replica group.
- Smaller community, and smaller user base.
Both are standalone application and both are scalable and distributed. If you require a Single stand alone server or Single indexer and multiple searcher then you could go with either Solr or Elastic Search. If you want distributed indexing then you need to choose Elastic search. Elastic search is preferable for cloud and distributed environment.
Reference:
http://lucene.apache.org/solr/
http://www.elasticsearch.org/
http://www.findbestopensource.com/tagged/full-text-search
comments powered by Disqus
Related Articles
8 Best Open Source Searchengines built on top of Lucene
Lucene is most powerful and widely used Search engine. Here is the list of 7 search engines which is built on top of Lucene. You could imagine how powerful they are.
Lucene Vs Solr
Lucene is a search library built in Java. Solr is a web application built on top of Lucene. Certainly Solr = Lucene + Added features. Often there would a question, when to choose Solr and when to choose Lucene.
Why require Searchengine? Why not use database for full text search in Enterprise application.
Most of the database has support of full text search, basically indexing and saarching. MySQL, Oracle and many more databases has in-built full text search. Then what is the need to go for external search engine like Lucene, Sphinx, Solr etc. Check out the advantage of using Searchengine.
Restrict Solr Admin Access
Solr is a search engine built on top of Lucene. It supports REST interface and has lot of built-in capabilities. Solr package has Admin UI interface which has support to perform query and even delete the contents of the index. If you are using Solr in production then you may need to restrict access. I saw couple of questions in the group related to this topic. Thought to write an article explaining few tips to restrict the user access to Solr admin UI.
An introduction to LucidWorks Enterprise Search
Lucidworks Enterprise search solution is built on top of Apache Solr. It scales seamlessly w/sub-second response times under extreme query loads for multi-billion document collections. It has user friendly UI, which does all the job of configuration and search.
How to make money from Open Source
As open source getting popular day by day, many have questions like How to make money from Open Source? Lot more products are getting introduced and don't know who is making money. Certainly open source means, give the product and source for free then how to make money? Yes sell the product for free but get paid for its services.
LucidWorks Vs SearchBlox - Enterprise Search Solution
Enterprise search software should be capable to search the data available in the entire organization or personnel desktop. The data could be in File system, Web or in Database. It should search contents of Emails, file formats like doc, xls, ppt, pdf and lot more. There are many commercial products available but LucidWorks and SearchBlox are best and free.
Top 15 Open source alternative to Microsoft products
Microsoft is monopoly in the commercial software. Here are 15 best alternatives to most popular and widely used Microsoft products.
10 sites to get the large data set or data corpus for free
You may require GBs of data to do performance or load testing. How your app behaves when there is loads of data. You need to know the capacity of your application. This is the frequently asked question from the sales team "The customer is having 100GB of data and he wants to know whether our product will handle this? If so how much RAM / Disk storage required?". This article has pointers to the large data corpus.
Open source is the backbone for Startups
Many startups are entering in to the business due to open source. Open source acts as a back bone / pillar for their business. It reduces the cost of production, Generates revenue from consulting and support. This article describes about the startups which flourished because of open source. Sun acquired MySQL for $1Bn is the biggest achievement for open source startups.