Returns only stat items

solr_stats(
  conn,
  name = NULL,
  params = list(q = "*:*", stats.field = NULL, stats.facet = NULL),
  body = NULL,
  callopts = list(),
  raw = FALSE,
  parsetype = "df",
  progress = NULL,
  ...
)

Arguments

conn

A solrium connection object, see SolrClient

name

Name of a collection or core. Or leave as NULL if not needed.

params

(list) a named list of parameters, results in a GET request as long as no body parameters given

body

(list) a named list of parameters, if given a POST request will be performed

callopts

Call options passed on to crul::HttpClient

raw

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

parsetype

(character) One of 'list' or 'df'

progress

a function with logic for printing a progress bar for an HTTP request, ultimately passed down to curl. only supports httr::progress for now. See the README for an example.

...

Further args to be combined into query

Value

XML, JSON, a list, or data.frame

Stats parameters

  • q Query terms, defaults to ':', or everything.

  • stats.field The number of similar documents to return for each result.

  • stats.facet You can not facet on multi-valued fields.

  • wt (character) Data type returned, defaults to 'json'. One of json or xml. If json, uses fromJSON to parse. If xml, uses xmlParse to parse. csv is only supported in solr_search and solr_all.

  • start Record to start at, default to beginning.

  • rows Number of records to return. Defaults to 10.

  • key API key, if needed.

References

See https://lucene.apache.org/solr/guide/8_2/the-stats-component.html for more information on Solr stats.

See also

Examples

if (FALSE) { # connect (cli <- SolrClient$new(host = "api.plos.org", path = "search", port = NULL)) # get stats solr_stats(cli, params = list(q='science', stats.field='counter_total_all'), raw=TRUE) solr_stats(cli, params = list(q='title:"ecology" AND body:"cell"', stats.field=c('counter_total_all','alm_twitterCount'))) solr_stats(cli, params = list(q='ecology', stats.field=c('counter_total_all','alm_twitterCount'), stats.facet='journal')) solr_stats(cli, params = list(q='ecology', stats.field=c('counter_total_all','alm_twitterCount'), stats.facet=c('journal','volume'))) # Get raw data, then parse later if you feel like it ## json out <- solr_stats(cli, params = list(q='ecology', stats.field=c('counter_total_all','alm_twitterCount'), stats.facet=c('journal','volume')), raw=TRUE) library("jsonlite") jsonlite::fromJSON(out) solr_parse(out) # list solr_parse(out, 'df') # data.frame ## xml out <- solr_stats(cli, params = list(q='ecology', stats.field=c('counter_total_all','alm_twitterCount'), stats.facet=c('journal','volume'), wt="xml"), raw=TRUE) library("xml2") xml2::read_xml(unclass(out)) solr_parse(out) # list solr_parse(out, 'df') # data.frame # Get verbose http call information solr_stats(cli, params = list(q='ecology', stats.field='alm_twitterCount'), callopts=list(verbose=TRUE)) }