Coder Social home page Coder Social logo

mbsssss's Introduction

MusicBrainz Simple Solr Search Server Schema

This repository includes schema definitions for several Solr cores - 1 for each entity type in MusicBrainz. The Solr Reference Guide contains more information about how these work.

Note that this repository uses the core discovery mechanism of Solr 5. It will not work with all versions of Solr 4.

Adding the MusicBrainz Query Response Writer

To run a Solr server with the cores definied in this repository, you first need to install the MusicBrainz QueryResponseWriter and place the resulting file called solrwriter-0.0.1-SNAPSHOT-jar-with-dependencies.jar into the mbsssss/lib folder, which is configured as the Solr server's sharedLib folder.

Running a Solr server with these cores

If you haven't already, download Solr from its website and extract the archive.

You will now have a solr-x.x.x folder (where x.x.x is Solrs version number). Inside this folder, there's a bin folder containing scripts to start a Solr server. You can use those to start a Solr server which knows the cores in this repository with the following command:

/path/to/solr-x.x.x/bin/solr -f -s /path/to/this/repository

Defining a new core

Defining a new core requires following these steps:

  1. Create a config directory for it, based on the template directory (cp -r _template $corename)
  2. Create an empty core.properties file in the cores directory (touch $corename/core.properties).
  3. Symlink the fieldtypes.xml file from the common folder into the new configuration folder (pushd $corename/conf && ln -s ../../common/fieldtypes.xml . && popd). This file includes the fieldtype definitions that all cores have in common.
  4. Edit the solrconfig.xml and schema.xml file in the configuration folder according to your needs.

Generating mediawiki tables for the documentation

The file searchfields.py is a script that generates Mediawiki tables to document the cores and all their search fields. Simply running it like

python searchfields.py

prints that markup to standard output. You can either redirect it to a file:

python searchfields.py > searchfields.txt

or copy it directly to the clipboard:

python searchfields.py | xclip

mbsssss's People

Contributors

jeffweeksio avatar mayhem avatar mineo avatar samj1912 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.