Skip to content

A CloudSearch service module for ex_aws.

License

Notifications You must be signed in to change notification settings

KineticCafe/ex_aws_cloud_search

Repository files navigation

ExAws.CloudSearch

Build Status

An ex_aws service module for AWS CloudSearch.

Installation

The package can be installed by adding ex_aws_cloud_search to your list of dependencies in mix.exs along with :ex_aws_cloud_search and your preferred JSON codec and HTTP client.

If you are using the structured search syntax, you may wish to use csquery.

def deps do
  [
    {:ex_aws, "~> 2.0"},
    {:ex_aws_s3, "~> 1.0"},
    {:poison, "~> 3.0"},
    {:hackney, "~> 1.9"},
    {:csquery, "~> 1.0"} # Optional, but recommended.
  ]
end

Documentation can be found at HexDocs.pm.

Configuration

The request configuration for ExAws.CloudSearch is a little different than most other AWS services, in that it requires an additional configuration parameter to know what host to use for document management or searches. When configuring, add a search_domain configuration.

config :ex_aws,
  access_key_id: [{:system, "AWS_ACCESS_KEY_ID"}, {:aws_profile, "default", 30}],
  secret_access_key: [{:system, "AWS_SECRET_ACCESS_KEY"}, {:aws_profile, "default", 30}],
  region: "us-west-2",
  search_domain: "exaws-search-test-d3adbeef65rvt"

The actual host will be chosen based on the search_domain provided. As with all ExAws requests, this may be provided a runtime:

"José"
|> ExAws.CloudSearch.search()
|> ExAws.request!(region: "us-west-2", search_domain: "exaws-search-test-d3adbeef65rvt")

CSQuery Integration

During search construction, if a CSQuery.Expression is provided as the query, ExAws.CloudSearch will also configure the query parser to be structured and it will use CSQuery.to_query/1 to produce the query string. (If CSQuery is not loaded, an error will be thrown.)

Planned Features

  • Search - 0.1.0
  • Suggest - 0.2.0
  • Document management (add, update, delete) - 0.2.0
  • Configuration - 0.2.0
  • Improved configuration hygiene by providing more helper structs and functions.
  • Tests - 1.0.0

Community and Contributing

We welcome your contributions, as described in Contributing.md. Like all Kinetic Cafe open source projects, is under the Kinetic Cafe Open Source Code of Conduct.

About

A CloudSearch service module for ex_aws.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published