Build Status Dependency Status Code Metrics Test Coverage Inline docs External API Docs Code Docs

Homepage: http://rletters.net
Git: http://github.com/rletters/rletters
Author: Charles Pence
Contributors: See Contributors section below
Copyright: © 2014–2016 Louisiana State University
License: MIT License
Latest Version: v2.0.1
Release Date: January 12, 2015

RLetters is an application designed to let users perform complex searches as well as digital-humanities and text-mining analysis tasks on a corpus of journal articles.


Text analysis

RLetters allows users to save the results of a given search as a "dataset." This produces a saved record that users can return to later in order to perform text analysis tasks.

While text analysis tasks are a current area of active development in RLetters, currently the following are available:

  • Compute term frequency information (for single words or multiple-word phrases)
  • Compare word usage in two different datasets
  • Graph dataset by publication date
  • Determine statistically significant pairs of words (collocations) or associations between words at distance (cooccurrences)
  • Compute network of words used around a focal word
  • Extract references to proper names (locations, people, organizations)
  • Export dataset as citations in a variety of formats

Complex search

The Solr backend on which RLetters is based allows for a number of complicated searching operations:

  • Searching on the basis of particular fields ("year:2010", "authors:Johnson", or "title:fish")
  • Boolean operators ("darwin OR huxley")
  • Wildcard search ("*fish" or "wom?n")
  • Text stemming ("evolution" matching "evolutionary" or "evolutionist")
  • Fuzzy matching (matching words similar to the requested term)
  • Proximity searching (two terms within N words of one another)

Support for web and library standards

RLetters features a JSON API to return search results to other services around the internet. We also provide support for the following web and library standards:

  • unAPI for automatic bibliographic data retrieval from individual documents
  • WorldCat OpenURL Registry for detection of the OpenURL resolver of the user's local library

And you can export bibliographic data in the following standard formats:

Cutting-edge development and maintenance tools

RLetters doesn't leave your developers out in the cold, either. We've got support for the following features that make development, deployment, maintenance, and monitoring easier:

Installation / Deployment

See our detailed installation and deployment guide for instructions. For the extremely impatient:

# Install Ansible 1.3+ from your local package manager
# Establish passwordless SSH with passwordless sudo to your server running RHEL/CentOS 7
git clone git://github.com/rletters/ansible-playbook.git

cd ansible-playbook/deploy
cp hosts.example hosts
$EDITOR hosts
  # Point all these paths at your server
ansible-playbook -i hosts site.yml

# Open up a web browser to http://YOUR_SITE/admin/
  # Log in with admin@example.com / password
  # Configure any other settings that strike your fancy

Contributors / Support

Special thanks to all contributors to the code here on GitHub. A full list of contributors including their patches can be found at:


We also have received the help of a great community of translators at Transifex. Thanks especially to Alejandro León Aznar.

Also, several features of RLetters wouldn't be possible without the excellent work of other Ruby programmers. Thanks in particular to those behind Ansible, RSolr and RSolr::Ext, stanford-core-nlp, citeproc-ruby, and bibtex-ruby. The stop lists found in db/seeds/stoplists are released under the BSD license by the Apache Lucene project. The colors in lib/r_letters/visualization/color_brewer are released by the ColorBrewer project under the Apache license. The fonts found in vendor/fonts are released mainly under the OFL license; licensing information is found with each font.

Charles Pence and Grant Ramsey were supported in the development of RLetters by the National Science Foundation, #1456573, and the National Evolutionary Synthesis Center (NESCent), NSF #EF-0905606.

National Science Foundation National Evolutionary Synthesis Ceter


RLetters © 2014–2016 Louisiana State University, © 2011–2014 Charles Pence. RLetters is licensed under the MIT license. Please see the COPYING document for more information.