add {solrium} | R Documentation |
Add documents from R objects
Description
Add documents from R objects
Usage
add(
x,
conn,
name,
commit = TRUE,
commit_within = NULL,
overwrite = TRUE,
boost = NULL,
wt = "json",
raw = FALSE,
...
)
Arguments
x |
Documents, either as rows in a data.frame, or a list. |
conn |
A solrium connection object, see SolrClient |
name |
(character) A collection or core name. Required. |
commit |
(logical) If |
commit_within |
(numeric) Milliseconds to commit the change, the document will be added within that time. Default: NULL |
overwrite |
(logical) Overwrite documents with matching keys.
Default: |
boost |
(numeric) Boost factor. Default: NULL |
wt |
(character) One of json (default) or xml. If json, uses
|
raw |
(logical) If |
... |
curl options passed on to crul::HttpClient |
Details
Works for Collections as well as Cores (in SolrCloud and Standalone modes, respectively)
See Also
update_json
, update_xml
,
update_csv
for adding documents from files
Examples
## Not run:
(conn <- SolrClient$new())
# create the boooks collection
if (!collection_exists(conn, "books")) {
collection_create(conn, name = "books", numShards = 1)
}
# Documents in a list
ss <- list(list(id = 1, price = 100), list(id = 2, price = 500))
add(ss, conn, name = "books")
conn$get(c(1, 2), "books")
# Documents in a data.frame
## Simple example
df <- data.frame(id = c(67, 68), price = c(1000, 500000000))
add(df, conn, "books")
df <- data.frame(id = c(77, 78), price = c(1, 2.40))
add(df, conn, "books")
## More complex example, get file from package examples
# start Solr in Schemaless mode first: bin/solr start -e schemaless
file <- system.file("examples", "books.csv", package = "solrium")
x <- read.csv(file, stringsAsFactors = FALSE)
class(x)
head(x)
if (!collection_exists(conn, "mybooks")) {
collection_create(conn, name = "mybooks", numShards = 2)
}
add(x, conn, "mybooks")
# Use modifiers
add(x, conn, "mybooks", commit_within = 5000)
# Get back XML instead of a list
ss <- list(list(id = 1, price = 100), list(id = 2, price = 500))
# parsed XML
add(ss, conn, name = "books", wt = "xml")
# raw XML
add(ss, conn, name = "books", wt = "xml", raw = TRUE)
## End(Not run)