Apache Solr
Solr logo | |
Developer(s) | Apache Software Foundation |
---|---|
Stable release | 4.9.0
/ June 25, 2014 |
Repository | |
Written in | Java |
Operating system | Cross-platform |
Type | Search and index API |
License | Apache License 2.0 |
Website | lucene |
Solr (pronounced "solar") is an open source enterprise search platform from the Apache Lucene project. Its major features include full-text search, hit highlighting, faceted search, dynamic clustering, database integration, and rich document (e.g., Word, PDF) handling. Providing distributed search and index replication, Solr is highly scalable.[1] Solr is the most popular enterprise search engine.[2] Solr 4 adds NoSQL features.[3]
Solr is written in Java and runs as a standalone full-text search server within a servlet container such as Apache Tomcat or Jetty. Solr uses the Lucene Java search library at its core for full-text indexing and search, and has REST-like HTTP/XML and JSON APIs that make it usable from most popular programming languages. Solr's powerful external configuration allows it to be tailored to many types of application without Java coding, and it has a plugin architecture to support more advanced customization.
Apache Lucene and Apache Solr are both produced by the same Apache Software Foundation development team since the two projects were merged in 2010. It is common to refer to the technology or products as Lucene/Solr or Solr/Lucene.
History
In 2004, Solr was created by Yonik Seeley at CNET Networks as an in-house project to add search capability for the company website. Yonik Seeley along with Grant Ingersoll and Erik Hatcher went on to launch LucidWorks (formerly Lucid Imagination), a company providing commercial support, consulting and training for Apache Solr search technologies.
In January 2006, CNET Networks decided to openly publish the source code by donating it to the Apache Software Foundation under the Lucene top-level project.[4] Like any new project at Apache Software Foundation it entered an incubation period which helped solve organizational, legal, and financial issues.
In January 2007, Solr graduated from incubation status and grew steadily with accumulated features, thereby attracting a robust community of users, contributors, and committers. Although quite new as a public project, it powers several high-traffic websites.[5]
In September 2008, Solr 1.3 was released with many enhancements including distributed search capabilities and performance enhancements among many others.[6]
November 2009 saw the release of Solr 1.4. This version introduces enhancements in indexing, searching and faceting along with many other improvements such as Rich Document processing (PDF, Word, HTML), Search Results clustering based on Carrot2 and also improved database integration. The release also features many additional plug-ins.[7]
In March 2010, the Lucene and Solr projects merged. Separate downloads will continue, but the products are now jointly developed by a single set of committers.
In 2011 the Solr version number scheme was changed in order to match that of Lucene. After Solr 1.4, the next release of Solr was labeled 3.1, in order to keep Solr and Lucene on the same version number.[8]
In October 2012 Solr version 4.0 was released, including the new SolrCloud feature.[9]
2013 has seen a number of Solr releases already, including 4.1 in January, 4.2 in March, 4.2.1 in April and 4.3.0 in May, including many improvements in the Solr Cloud features such as custom sharding.
Features
- Uses the Lucene library for full-text search
- Faceted navigation
- Hit highlighting
- Query language supports structured as well as textual search
- JSON, XML, PHP, Ruby, Python, XSLT, Velocity and custom Java binary output formats over HTTP
- HTML administration interface
- Replication to other Solr servers - enables scaling QPS
- Distributed Search through Sharding - enables scaling content volume
- Search results clustering based on Carrot2
- Extensible through plugins
- Flexible relevance - boost through function queries
- Caching - queries, filters, and documents
- Embeddable in a Java Application
- Geo-spatial search
- Automated management of large clusters through ZooKeeper
- More function queries
- Field Collapsing [10]
- A new auto-suggest component
Community and future
Solr has an active development community, both individuals and companies, who contribute new features and bug fixes. [11] [12] [13] [14] [15]
Integrating Solr
This section needs expansion. You can help by adding to it. (July 2012) |
There are many community projects for integrating Solr with many programming languages and environments.
Language | Name |
---|---|
Ruby | Ruby Response Format[16] |
rsolr[17] | |
Solr's efficient binary javabin[18] | |
PHP | Solr's PHP response format[19] |
SolrPhpClient[20] | |
Apache Solr PHP Extension[21] | |
Solarium[22] | |
Java | SolrJ[23] |
Scala | scalikesolr[24] |
Python | solrpy[25] |
PySolr[26] | |
insol[27] | |
sunburnt[28][29] | |
txSolr[30] | |
mySolr[31] | |
JSON | JSON Query Response Format[32] |
.NET | SolrSharp (C#)[33] |
SolrContrib (C#)[34] | |
EasyNet Solr[35] | |
Deveel Solr Client[36][dead link] | |
SolrNet[37] | |
Perl | SolPerl[38] |
Solr.pm[39] | |
JavaScript | AJAX Solr[40] |
Solr Search[41] | |
TYPO3 | built-in integration |
See also
References
- ^ What is Solr?
- ^ DB-Engines Ranking of Search Engines
- ^ http://searchhub.org/2012/05/21/solr-4-preview/
- ^ Source code that CNET is granting to the ASF for the Solr project
- ^ Public Websites that use Solr
- ^ Solr 1.3 Announcement
- ^ Solr 1.4 Announcement
- ^ Solr3.1 - Solr Wiki. Wiki.apache.org (2013-05-16). Retrieved on 2013-07-21.
- ^ Apache Lucene. Lucene.apache.org. Retrieved on 2013-07-21.
- ^ Solr Result Grouping
- ^ StackOverflow questions tagged solr
- ^ lucenerevolution.org
- ^ SF Bay Area Lucene & Solr Meetup Community
- ^ Oslo Solr Community
- ^ LinkedIn Solr Group
- ^ Ruby Response Format - Solr Wiki. Wiki.apache.org (2011-11-22). Retrieved on 2013-07-21.
- ^ Rsolr: A Ruby client for Apache Solr
- ^ Apache Solr JavaBin format (binary format) implementation for Ruby
- ^ Solr's PHP response format
- ^ PHP library for indexing and searching Solr
- ^ Apache Solr PHP Extension
- ^ Solarium: A Solr client library for PHP applications
- ^ SolrJ
- ^ Apache Solr Client for Scala/Java
- ^ solrpy
- ^ PySolr
- ^ insol
- ^ sunburnt
- ^ sunburnt @ GitHub
- ^ txSolr
- ^ mySolr
- ^ JSON Query Response Format
- ^ SolrSharp
- ^ SolrContrib
- ^ EasyNet Solr
- ^ Deveel Solr Client
- ^ SolrNet
- ^ SolPerl
- ^ Solr.pm
- ^ AJAX Solr
- ^ Solr Search
Bibliography
- Smiley, David; Pugh, Eric; Parisa, Kranti; Mitchell, Matt (February 2014). Apache Solr 4 Enterprise Search Server (1st ed.). Packt Publishing. p. 451. ISBN 9781782161363.
- Serafini, Alfredo (December 2013). Apache Solr Beginner’s Guide (1st ed.). Packt Publishing. p. 324. ISBN 9781782162520.
- Rafalovitch, Alexandre (June 2013). Instant Apache Solr for Indexing Data How-to (1st ed.). Packt Publishing. p. 90. ISBN 9781782164845.
- Kuć, Rafał (January 2013). Apache Solr 4 Cookbook (1st ed.). Packt Publishing. p. 328. ISBN 9781782161325.
- Smiley, David; Pugh, Eric (November 20, 2011). Apache Solr 3 Enterprise Search Server (1st ed.). Packt Publishing. p. 418. ISBN 1-84951-606-5.
- Ku, Rafal (July 22, 2011). Apache Solr 3.1 Cookbook (1st ed.). Packt Publishing. p. 300. ISBN 1-84951-218-3.
- Smiley, David; Pugh, Eric (August 19, 2009). Solr 1.4 Enterprise Search Server (1st ed.). Packt Publishing. p. 336. ISBN 1-84719-588-1.
External links
- Solr homepage
- Solr tutorial
- Solr wiki
- Apache Solr Test Files
- Solr: Indexing XML with Lucene and REST
- Search smarter with Apache Solr, Part 1
- Search smarter with Apache Solr, Part 2
- What's new with Apache Solr
- http://darughachi.blogspot.com/2013/11/1-2-3-to-integrate-apache-nutch-1.html
- Apache Solr Mailing List Archives
- Getting Started with Enterprise Search Using Apache Solr