SolrSearch is a simple, one NodeJs file application which acts as a dumb front end to an Apache Solr instance. Specifically, it is able to front Solr when Solr is used to index large amounts of on-filesystem documentation, also exposed to the web. However, SolrSearch can be used for plenty of other applications as well!
SolrSearch assumes you have NodeJs installed as well as a configured Apache Solr instance with a collection you would like to search.
First, clone down SolrSearch:
git clone https://github.com/Ichbinjoe/solrsearch.git && cd solrsearch
Run npm install:
npm i
Copy over the configuration (then configure for your environment):
cp config.json.example config.json
Then, start the SolrSearch server with node:
node index.js
You can index files on your filesystem using the bin/post tool. If your files are indexed this way, SolrSearch will have no problems serving searches from collections created.
This section describes some of the various configuration values:
query: This is the query that SolrSearch will send to the Solr instance. The{{rows}}and{{start}}substitution should be used so that SolrSearch can properly paginate the results.{{query}}will be replaced with the user's query.page_size: This is the number of queries to return on each page.replace.regex: For each result SolrSearch receives, it will apply this regex to figure out the document path to replacereplace.with: For each result, this is the text that is replaced by the regex. Usually, these two options are to rewrite a file location from a local file to a network accessible file uripagination_steps: This is the number of available page number options are available at the bottom of the page. This should be odd for best UIpagination_bubble: This is the number of available page number options which should always be surrounding the current pagebase: This is the base url path of this search instance. Should be / if querying SolrSearch directly.
The search page can be modified by modifying the template
views/search.handlebars and views/layouts/main.handlebars.
As of now, SolrSearch can work completely without any Internet connection, except for a connection to the Solr instance.
I'm very gracious for any pull requests people may have! Please send them over.
This project is licensed under the MIT License - see the LICENSE file for details