Skip to content
Port of RSolr to Elixir
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
config Added some useful doc examples Nov 2, 2016
lib Fixed mlt docs not being flattened Nov 14, 2016
test build the solr query url May 11, 2016
.gitignore remove the doc folder from source control May 8, 2016
LICENSE Initial commit May 7, 2016 beautify elixir code in readme (#4) Jun 9, 2017
mix.exs make dialyxir green May 23, 2016
mix.lock Cleanup IO.inspect Nov 1, 2016


Port of RSolr to Elixir


  1. Add exsolr to your list of dependencies in mix.exs:
def deps do
  [{:exsolr, git: ""}]
  1. Ensure exsolr is started before your application:

    def application do [applications: [:exsolr]] end


The default behaviour is to configure using the config file:

In config/config.exs, add:

config :exsolr,
  hostname: "localhost",
  port: 8983,
  core: "elixir_test"


Use #get to perform a query into Solr. All parameters are optional

response = Exsolr.get(q: "roses", fq: ["blue", "violet"])["docs"], fn(doc) -> doc["id"] end)

The following query fields will have default values if they aren't specified

q:     "*:*"
wt:    "json"
start: 0
rows:  10

Indexing documents into Solr

Single document via #add

  Exsolr.add(%{id: 1, price: 1.00})

Multiple documents via #add

  [%{id: 1, price: 1.00}, %{id: 2, price: 10.50}]
  |> Exsolr.add

Force a commit into Solr



Delete by id


Delete all the documents from the core

You can’t perform that action at this time.