Welcome to the Apache Solr Wiki
Solr Documentation
Official documentation for the latest release of Solr can be found on the Solr website. Of particular note is the Solr Reference Guide which is published by the project after each minor release.
The rest of this wiki is community edited and captures version agnostic information, User submitted Tips & Tricks, historical information on Solr, as well as some areas of Solr not yet covered in the Reference Guide.
General Information
- Solr Website
- Download latest Solr Release
- Introduction to Solr
- Solr Tutorial
- SOLR mailing lists: Sign-up or Search/Browse the Mailing List Archives
Please read these tips on using the mailing lists effectively before posting.
- The Solr Relevancy FAQ] and the Solr [SolrRelevancyFAQ
- SolrResources - Books, Blogs, Reviews, Articles, Product Sheet, Presentations, etc...
- SolrTerminology
- Powered by Solr
- SolrPerformanceData
- Support - People and companies for hire
- Solr Change Log with all the juicy info about recently committed features.
Solr Development
- HackingSolr – Info for people interested in hacking and customizing the Solr application
- TestingSolr – Information for running Solr unit tests
- NightlyBuilds – Jenkins hosts nightly Solr builds
- Latest stable code for 6.x branch (github URL)
- TaskList of ideas for future development
- HowToContribute improvements
- Info For Committers
- TestPlans
- Deprecations
- HowToCompileSolr – steps tested under Windows 7 / Windows 8
- Experiments
- Guice + Restlet – Docs on experimental refactoring of Solr to use Guice and Restlet
Using Solr
Installation and Configuration
- General Installation Steps
- Includes information about useful settings in specific environments
- SolrLogging
- ConfiguringSolr
- SolrAdminGUI
Search and Indexing
- Indexing Documents
- Adding Documents in XML format - Covers XML syntax for adds, deletes, commits and optimizes
- Adding Documents in JSON format - Covers JSON syntax for adds, deletes, commits and optimizes
- Adding Documents in CSV format
- DataImportHandler - Solr contrib that supports full and delta indexing directly from SQL databases, and local or REST accessible XML files.
- AnalysisRequestHandler - Analyzing documents without indexing
- Solr Content Extraction Library (Solr Cell) - Covers how to index MS Word, PDF, etc. using Solr Cell (a.k.a. ExtractingRequestHandler). Also see the older version at UpdateRichDocuments
- Update Processors - Update Processors define how an update request is processed.
- Deduplication - Prevent or tag duplicate documents
- Searching Solr
- Request Handlers - Control the logic used to process requests. Several different Request Handlers are included with Solr, or you can write your own custom implementation.
- Response Writers - Control the formatting of the responses generated by Request Handlers. Several different Response Writers are included with Solr, or you can write your own custom implementation.
- Input Parameters
- QueryParametersIndex - index of query parameters in following wiki pages
- CoreQueryParameters
- CommonQueryParameters
- SimpleFacetParameters
- HighlightingParameters
- MoreLikeThis
- Search Components - Search Components provide core functionality to a Request Handler.
- Query Syntax - Syntax for default query parsing, and how to specify a Query Parser.
- Function Queries - Using the values in fields in functions and as factors in scoring
- Faceted search - Category counts for search results
- (Geo)Spatial Search - Find results near a point
- Field Collapsing / Result Grouping - documents with a common field value are grouped
- Join - Do joins (similar to database) on documents
SolrCloud
When you are ready to scale beyond a single node, see SolrCloud. For information on individual Application Servers, or stand-alone deployments, see the list of options on the Solr Installation page.
Advanced Tools
- Carrot2-based Document Clustering - Summarize/compare all documents returned by a query
- Language Detection - Deduce the language of a document
- Language Translation - Based upon language identification, undertake document language translation
- UIMA Natural Language Processing - Sophisticated NLP suite, originally from IBM Research
- Lucene Document Classification Integration - Index time classification integration
- OpenNLP Natural Language Processing - Simple NLP suite
- Business Rules - Alter stored documents and query results with flexible dynamic rules engine
Tips, Tricks and Use Cases
- SolrPlugins
- SolrRelevancyCookbook
- NearRealtimeSearch
- Auto-complete - Use either Faceting with facet.prefix or Suggester or TermsComponent
- UniqueKey - Covers tips about unique keys in the schema
- Japanese Language Support - How to search Japanese text, best practices and various considerations
- Serbian Language Support - about support for Serbian language
- Using PreAnalyzedField type and PreAnalyzedUpdateProcessorFactory for integration with external document processing pipelines
- DateRangeField
Solr Clients
- IntegratingSolr - includes information about accessing Solr from a variety of programming languages and existing third party applications.
Operations and Production
- SolrCaching
- SolrPerformanceFactors
- SolrSecurity
- Index Replication
- Built in SolrRequestHandler based SolrReplication
- Unix script based CollectionDistribution
- DistributedSearch
- CollectionRebuilding
- MergingSolrIndexes
- SolrOperationsTools
- SolrJmx and SolrMonitoring
- SolrJavaVersions
User-contributed content
- Translations - Unofficial translations of the official documentation, in hope of easing the review process.
:TODO:
How to implement basic indexing in Tomcat