Update documents with XML data

update_xml(
  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_json()

Examples

if (FALSE) { # start Solr: bin/solr start -f -c -p 8983 # connect (conn <- SolrClient$new()) # create a collection if (!conn$collection_exists("books")) { conn$collection_create(name = "books", numShards = 2) } # Add documents file <- system.file("examples", "books.xml", package = "solrium") cat(readLines(file), sep = "\n") conn$update_xml(file, "books") # Update commands - can include many varying commands ## Add files file <- system.file("examples", "books2_delete.xml", package = "solrium") cat(readLines(file), sep = "\n") conn$update_xml(file, "books") ## Delete files file <- system.file("examples", "updatecommands_delete.xml", package = "solrium") cat(readLines(file), sep = "\n") conn$update_xml(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") ## Now add a new document, and delete the one we just made file <- system.file("examples", "add_delete.xml", package = "solrium") cat(readLines(file), sep = "\n") conn$update_xml(file, "books") }