A simple UI for any Solr Endpoint. Just 6KB minified
- Customizable search results listing
- Supports Faceting
- Supports URL hash or HTML5 pushstate
-
Clone the repository
git clone [email protected]:PebbleRoad/mithril-solr.git
-
Add the script tags in your html pages
<div id="Search"></div> <script src="//cdnjs.cloudflare.com/ajax/libs/mithril/0.2.0/mithril.min.js"></script> <script src="mithril.solr.min.js"></script>
-
Initialize your Solr App
<script> /** * Fields * @type {Object} */ var fields = { title : 'alternate_title', summary : 'abstract', url : 'presentation_url' }; /** * Facets * @type {Array} */ var facetFields = [ { name: 'region', displayName: 'Region', type: 'string' }, { name: 'function', displayName: 'Function', type: 'string' }, { name: 'localtype', displayName: 'Region', type: 'string' }, { name: 'toDate', displayName: 'Date', type: 'date' } ] /** * Your App * @type {Object} */ var app = { controller: function(){ this.endPoint = 'https://data.esrc.unimelb.edu.au/solr/FACP/select'; this.facetFields = facetFields; this.fields = fields; }, view: function(ctrl){ return [ m.component(SolrWidget, { endPoint: ctrl.endPoint, facetFields: ctrl.facetFields, fields: ctrl.fields }) ] } } /* Mount */ m.route.mode = 'hash'; m.route(document.getElementById('Search'), '/search', { '/search': app }); </script>