soundfingerprinting.solr is Solr backend for soundfingerprinting framework. It is a very resilient, fast, non-relational storage, which allows you to scale your backend very effectively.
SoundFingerprinting.Solr uses SorlNet in order to connect to actual solr instances. Please provide connection string for both cores (sf_tracks and sf_fingerprints) in your app.config
as outlined:
<configuration>
<configSections>
<section name="solr" type="Ninject.Integration.SolrNet.Config.SolrConfigurationSection, Ninject.Integration.SolrNet" />
</configSections>
<solr>
<server id="tracks" url="http://localhost:8983/solr/sf_tracks" documentType="SoundFingerprinting.Solr.DAO.TrackDTO, SoundFingerprinting.Solr" />
<server id="fingerprints" url="http://localhost:8983/solr/sf_fingerprints" documentType="SoundFingerprinting.Solr.DAO.SubFingerprintDTO, SoundFingerprinting.Solr" />
</solr>
</configuration>
docker pull addictedcs/soundfingerprinting.solr
docker run -p 8983:8983 addictedcs/soundfingerprinting.solr
Docker image contains initialized cores and configs required for SoundFingerprinting framework to properly function.
soundfingerprinting audio fingerprints are stored in sf_fingerprints core. It's schema can be found in solr-config
folder. Track metadata is stored in sf_tracks core.
It is important to disable query result cache for sf_fingerprints core. You may end up with Solr memory issues otherwise.
Links to the third party libraries used by soundfingerprinting project.
git clone [email protected]:AddictedCS/soundfingerprinting.solr.git
In order to build latest version of the SoundFingerprinting.Solr assembly run the following command from repository root
.\build.cmd
Install-Package SoundFingerprinting.Solr -Pre
If you want to contribute you are welcome to open issues or discuss on issues page. Feel free to contact me for any remarks, ideas, bug reports etc.
The framework is provided under MIT licence agreement.