Simple Elasticsearch client for R
R
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

#elasticsearch.R

#(This project is no longer maintained, if you would like to take over feel free to send me an email)

##Features (WIP) ###Document APIs

  • Index
  • Get
  • Delete
  • Update
  • Multi-get
  • Bulk

###Search APIs

  • Search

###Indices APIs

  • Create index
  • Delete index
  • Indices Exists
  • Open / Close Index API

##Installation You will need the devtools package in order to install this package

install.packages("devtools")
library(devtools)
install_github("tomesch/elasticsearch")
library(elasticsearch)

##Examples For the following series of examples we will be using a simplifed version of the Unicode Character Database. The data is formated so that it can be directly indexed in Elasticsearch via a bulk query. You can download the database here.

###Importing the data

# Read the database
requests = paste(readLines("/Users/tom/ucd.json"), collapse="\n")

# Create the client
es = ElasticsearchClient("http://localhost:9200")
# Index the data
bulk(es, requests)

###CRUD operations

# Index a new document
index(es, "ucd", "characters", 1, body='{"cp": "9999", "na": "My new character", "age": "23", "blk": "ASCII"}')
# Get it
get(es, "ucd", "characters", 1)
# Update it
update(es, "ucd", "characters", 1, '{"doc" : { "age" : 24}}')
# Delete it
delete(es, "ucd", "characters", 1)

###Search

# Search a character
search(es, body='{"query": {"match": {"na": "pile of poo"}}}')
# Run an aggregation
res = search(es, body='{"aggs" : {"blocks" : {"terms" : { "field" : "blk", "size": 0}}}}')
# And plot it
barplot(res$aggregations$blocks$buckets$doc_count)