Update documents with JSON data

update_json(
  conn,
  files,
  name,
  commit = TRUE,
  optimize = FALSE,
  max_segments = 1,
  expunge_deletes = FALSE,
  wait_searcher = TRUE,
  soft_commit = FALSE,
  prepare_commit = NULL,
  wt = "json",
  raw = FALSE,
  ...
)

Arguments

conn

A solrium connection object, see SolrClient

files

Path to a single file to load into Solr

name

(character) Name of the core or collection

commit

(logical) If TRUE, documents immediately searchable. Deafult: TRUE

optimize

Should index optimization be performed before the method returns. Default: FALSE

max_segments

optimizes down to at most this number of segments. Default: 1

expunge_deletes

merge segments with deletes away. Default: FALSE

wait_searcher

block until a new searcher is opened and registered as the main query searcher, making the changes visible. Default: TRUE

soft_commit

perform a soft commit - this will refresh the 'view' of the index in a more performant manner, but without "on-disk" guarantees. Default: FALSE

prepare_commit

The prepareCommit command is an expert-level API that calls Lucene's IndexWriter.prepareCommit(). Not passed by default

wt

(character) One of json (default) or xml. If json, uses fromJSON to parse. If xml, uses read_xml to parse

raw

(logical) If TRUE, returns raw data in format specified by wt param

...

curl options passed on to HttpClient

Details

You likely may not be able to run this function against many public Solr services, but should work locally.

See also

Other update: update_csv(), update_xml()

Examples

if (FALSE) { # start Solr: bin/solr start -f -c -p 8983 # connect (conn <- SolrClient$new()) # Add documents file <- system.file("examples", "books2.json", package = "solrium") cat(readLines(file), sep = "\n") conn$update_json(files = file, name = "books") update_json(conn, files = file, name = "books") # Update commands - can include many varying commands ## Add file file <- system.file("examples", "updatecommands_add.json", package = "solrium") cat(readLines(file), sep = "\n") conn$update_json(file, "books") ## Delete file file <- system.file("examples", "updatecommands_delete.json", package = "solrium") cat(readLines(file), sep = "\n") conn$update_json(file, "books") # Add and delete in the same document ## Add a document first, that we can later delete ss <- list(list(id = 456, name = "cat")) conn$add(ss, "books") }