GithubHelp home page GithubHelp logo

omarluq / opensearch-ruby Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opensearch-project/opensearch-ruby

0.0 0.0 0.0 6.61 MB

Ruby Client for OpenSearch

License: Apache License 2.0

Ruby 99.60% Makefile 0.05% Mustache 0.35%

opensearch-ruby's Introduction

Integration Chat PRs welcome!

OpenSearch logo

OpenSearch Ruby Client

Welcome!

opensearch-ruby is a community-driven, open source fork of elasticsearch-ruby licensed under the Apache v2.0 License. For more information, see opensearch.org.

Sample Code

Please see the USER_GUIDE for code snippets.

Project Resources

Transport Features

The Transport layer of the client, OpenSearch::Transport, provides the following features:

  • Pluggable logging and tracing
  • Pluggable connection selection strategies (round-robin, random, custom)
  • Pluggable transport implementation, customizable and extendable
  • Pluggable serializer implementation
  • Request retries and dead connections handling
  • Node reloading (based on cluster state) on errors or on demand

For optimal performance, use a HTTP library which supports persistent ("keep-alive") connections, such as Patron or Typhoeus. Most such HTTP libraries are used through the Faraday HTTP library and its adapters.

Include the library's gem and adapter gem, and require the library and adapter in your code, and it will be automatically used. If you don't use Bundler, you may need to require the library explicitly (like require 'faraday/patron').

Currently these libraries will be automatically detected and used:

Note on Typhoeus: You need to use v1.4.0 or up since older versions are not compatible with Faraday 1.0 or higher.

Note on Faraday: If you use Faraday 2.0 or higher, if the adapter is in a separate gem, you will likely need to declare that gem as well. Only the Net::HTTP adapter gem is included by default. Faraday 1.x includes most common adapter gems already.

DSL Features

The opensearch-dsl library provides a Ruby API for the OpenSearch Query DSL.

The library allows to programatically build complex search definitions for OpenSearch in Ruby, which are translated to Hashes, and ultimately, JSON, the language of OpenSearch.

All OpenSearch DSL features are supported, namely:

  • Queries and Filter context
  • Aggregations
  • Suggestions
  • Sorting
  • Pagination
  • Options

Code of Conduct

This project has adopted the Amazon Open Source Code of Conduct. For more information see the Code of Conduct FAQ, or contact [email protected] with any additional questions or comments.

User Guide

See USER_GUIDE.

Compatibility with OpenSearch

See Compatibility.

Upgrading

See UPGRADING.

Developer Guide

See DEVELOPER_GUIDE.

Security

If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our vulnerability reporting page or directly via email to [email protected]. Please do not create a public GitHub issue.

License

This project is licensed under the Apache v2.0 License.

Copyright

Copyright OpenSearch Contributors. See NOTICE for details.

opensearch-ruby's People

Contributors

karmi avatar picandocodigo avatar estolfo avatar nhtruong avatar karmiq avatar jayeshathila avatar vachashah avatar vijayanb avatar jsvd avatar gaiksaya avatar szabosteve avatar gmile avatar earlopain avatar kkirsche avatar stephenprater avatar dx7 avatar conky5 avatar cosmo0920 avatar dblock avatar h6ah4i avatar ctrochalakis avatar andrewvc avatar akfernun avatar divyaasm avatar harshavamsi avatar pragtob avatar trevorcreech avatar yuvi17 avatar mkdynamic avatar chtitux avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.