Skip to content

AddictedCS/soundfingerprinting.solr

Repository files navigation

Solr storage for audio fingerprinting framework in .NET

Join the chat at https://gitter.im/soundfingerprinting/Lobby

soundfingerprinting.solr is Solr backend for soundfingerprinting framework. It is a resilient, fast, non-relational storage, which allows you to scale your backend very effectively.

Build Status

Production use

SoundFingerprinting.Solr is not intended to be used with a high number of stored tracks. On a reasonably powerfull server it will be able to work with up to 1000 tracks. Please contact ciumac.sergiu@gmail.com for entreprise storage Emy, which will be able to accomodate much more data, scaling linearly with number of servers involved.

How to use

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 appsettings.json as outlined:

{
  "queryBatchSize": 50,
  "preferLocalShards": true,
  "solr": [
    {
      "id": "tracks",
      "url": "http://localhost:8983/solr/sf_tracks",
      "documentType": "SoundFingerprinting.Solr.DAO.TrackDTO, SoundFingerprinting.Solr"
    },
    {
      "id": "fingerprints",
      "url": "http://localhost:8983/solr/sf_fingerprints",
      "documentType": "SoundFingerprinting.Solr.DAO.SubFingerprintDTO, SoundFingerprinting.Solr"
    }
  ]
}

Try it with Docker

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.

Solr schema for fingerprints and tracks

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.

Disabling query result cache

It is important to disable query result cache for sf_fingerprints core. You may end up with Solr memory issues otherwise.

Third party dependencies

Links to the third party libraries used by soundfingerprinting project.

Binaries

git clone git@github.com:AddictedCS/soundfingerprinting.solr.git

In order to build latest version of the SoundFingerprinting.Solr assembly run the following command from repository root

.\build.cmd

Get it on NuGet

Install-Package SoundFingerprinting.Solr

Contribute

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.

Licence

The framework is provided under MIT licence agreement.

About

SOLR storage for audio fingerprinting framework.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages