SolrNet is an Apache Solr client for .NET
SolrNet does not attempt to abstract much over Solr, it's assumed that you know what Solr is and how to use it, just as you need to know relational databases before using an ORM.
If you're not familiar with Solr, take your time to follow the Solr tutorial, see the FAQ and the docs. Consider getting a book.
This page documents SolrNet features in the master branch. For version-specific documentation, see the Documentation directory on the corresponding version branch. For example https://github.com/mausch/SolrNet/blob/0.4.x/Documentation/README.md
It's currently recommended to get the latest binaries directly from the build server. . The build server also has a NuGet feed with these nightly builds: https://ci.appveyor.com/nuget/solrnet-022x5w7kmuba
Otherwise, NuGet packages at nuget.org (currently outdated due to lack of documentation) are available:
- SolrNet (core library)
- SolrNet.Windsor
- SolrNet.StructureMap
- SolrNet.Ninject
- SolrNet.Unity
- SolrNet.Autofac
- SolrNet.NHibernate
- Overview and basic usage
- Mapping
- Initialization
- Create/Update/Delete
- Querying
- Faceting
- Highlighting
- More like this
- Spell checking
- Stats
- Field collapsing / grouping
- Core admin
- Fluent API
- Overriding the default mapper
- NHibernate integration
- Accessing multiple Solr cores / instances
- Mapping validation
- Binary document upload
- Sample web application
- FAQ
- Websites, products and companies using SolrNet
If you have any questions about SolrNet, join the SolrNet google group and ask away.
If you have questions about Solr itself (i.e. not specifically about SolrNet) use the Solr mailing list.
Paul Bouwer has written an excellent guide for contributors starting from scratch (no previous Git knowledge required).
In a nutshell:
- Don't worry about code formatting, styles, etc.
- Tests are a must. Without tests, changes will not be merged, except for very specific cases.
- Whenever possible, favor immutable classes and pure code.
- If you're adding a new feature or making a breaking change, update the corresponding documentation.
You can also contribute by donating a few bucks: