Search Lucene API
Overview
#D7CX: I pledge that Search Lucene API will have a full Drupal 7 release on the day that Drupal 7 is released.
Search Lucene API adds Solr-like search functionality to Drupal. Because it is built on top of the Zend Framework's PHP port of Lucene, neither Java nor any external services are required to use the module. Out of the box, the bundled Search Lucene Content module adds advanced features that the core content search lacks such as advanced Lucene query syntax, fielded sorting of search results, and finer-grained content bias settings. Search Lucene API also has the ability to integrate with existing Drupal word stemmers such as the Porter-Stemmer project, but unlike the core search module it correctly highlights the matches. Enabling the bundled Search Lucene Facets module adds faceted searching to your site, and the exposed hooks allow developers to add additional Lucene fields and facets with ease. Because Search Lucene API caches search results and facet displays, repeated queries are returned instantly with little resource consumption.
Search Lucene API is easy to install and configure, so it is a viable option for many sites. Even the smallest projects can benefit from an advanced search alternative, and doing so is as easy as downloading a small PHP library, enabling the module, and running cron. All indexes are binary compatible with Java Lucene, so you can use your favorite Java based diagnostic tools such as Luke for debugging and analysis.
Is this module right for you?
Search Lucene API targets small to medium sized web sites, usually with less than 5,000 nodes. Because this module is a fully integrated solution, all search processing is handled inside of Drupal and simply cannot scale to large volumes of data. Going forward, Search Lucene API will have the option to integrate with distributed search services such as Elastic Search, which have the potential of scaling up to millions of documents.
Due to limitations of PHP file locking, the Lucene index cannot be stored on NFS and many other networked systems. Storage platforms, such as Gluster, that support PHP file locking should work fine.
Related Projects
- Search Lucene DidYouMean - Provides Google-like "did you mean" recommendations by detecting and correcting spelling errors based on the site's content.
- Search Lucene MoreLikeThis - Adds a block that displays content recommendations based on the text in the node being viewed.
- Search Lucene CCK - Indexes CCK data as separate Lucene fields and adds options to expose them as bias fields. This module is the basis for CCK facets.
- Search Lucene OG - Integrates with Organic Groups, maintained by ebeyrent.
- Search Lucene Biblio - Integrates with the Biblio module to provide facets based on the structured data in biblio nodes, maintained by ebeyrent.
- Search Lucene API Node Filter - Allows nodes to be hidden from the search on an individual node basis, maintained by ben.scott.
- Inline Ajax Search - Displays search results via AJAX, maintained by fabianderijk.
- Search Lucene Internationalization - Localizes searches, facets, and search tabs. This project is commonly referred to as Search Lucene i18n.
- Search Lucene Tagcloud - Adds a facet realm that displays facets as tagadelic-like links.
Maintainer
Search Lucene API is developed and maintained by Chris Pliakas. A special thanks to sethcohn and ebeyrent for their guidance and support on this project. Thanks to scotjam for his various contributions and help in the support forms.
Follow Chris on Twitter: @cpliakas
Installation
Due to Drupal's license policy regarding contributed modules, the Zend Framework components must be downloaded separately from Sourceforge.net and unpacked to the module's directory. No action other than downloading the correct version and unpacking them in the module's directory is required. For complete installation instructions, please visit the Installation page in the handbook documentation. For a great third-party installation tutorial complete with screenshots, visit the article by Ivan Zugec at zugec.com.
The following links point to the download location of the ZF components corresponding with the module version:
NOTE: Its OK that the library versions don't exactly match the module versions.
News
Search Lucene API 3.0: 2.0 is stable! All new features will be submitted against the 3.0 API. Search Lucene API 3.0 will introduce the concept of "adapters" so administrators can choose which Lucene backend to use, for example PHP Lucene (by the Zend Framework), Java Lucene, or ElasticSearch Lucene.
Press: See what people are saying about Search Lucene API.
Apache Solr Search Integration: I will be co-maintaining the DRUPAL-7--2 branch of Apache Solr Search Integration and have be charged with focusing on the API. This is a HUGE opportunity to consolidate the various Search APIs and pave the way for interchangeable search backends.
Search API consolidation: There is strong initiative to consolidate search APIs. Please check out http://groups.drupal.org/node/63523 and http://bit.ly/chqfOQ and support our efforts. Furthermore, the project by Young Hahn at http://bit.ly/biGjFs is attempting to accomplish a similar goal, so hopefully the efforts of that project will merge with this initiative.
