# ElasticsearchClient.jl

**URL:** <https://discourse.julialang.org/t/elasticsearchclient-jl/99904>\
**Category:** Package Announcements\
**Tags:** vector-search, elasticsearch, opensearch\
**Created:** [June 5, 2023, 5:08pm UTC](https://discourse.julialang.org/t/elasticsearchclient-jl/99904 "2023-06-05T17:08:01Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![rssdev10](https://avatars.discourse-cdn.com/v4/letter/r/e9a140/32.png) [@rssdev10](https://discourse.julialang.org/u/rssdev10)\
**Post date:** [June 5, 2023, 5:08pm UTC](https://discourse.julialang.org/t/elasticsearchclient-jl/99904/1 "2023-06-05T17:08:01Z")

</div>

[ElasticsearchClient.jl](https://github.com/OpenSesame/ElasticsearchClient.jl) is a native Julia implementation of the [Elasticsearch](https://www.elastic.co/elasticsearch/) client library. This library was inspired by [elasticsearch-ruby](https://github.com/elastic/elasticsearch-ruby) and implements very similar architectural approach.

There are two main modules: ElasticTransfort and API.

- ElasticTransport is responsible for low-level interactions with Elasticsearch and it allows requests to be made using HTTP parameters.
- API provides a high-level API equivalent to the Elasticsearch API. Currently, not all API methods are implemented, so help would be appreciated.

Example of API usage:

```julia
using ElasticsearchClient

client = ElasticsearchClient.Client()

body = (
  query=(
    match=(
      field="find something",
    ),
  ),
)

# Methods are exported from API module
response = ElasticsearchClient.search(client, body=body)

@show response.body["took"]

```

---

<div class="post-metadata">

**Author:** ![rssdev10](https://avatars.discourse-cdn.com/v4/letter/r/e9a140/32.png) [@rssdev10](https://discourse.julialang.org/u/rssdev10)\
**Post date:** [July 24, 2023, 1:43am UTC](https://discourse.julialang.org/t/elasticsearchclient-jl/99904/2 "2023-07-24T01:43:50Z")

</div>

For vector search code examples both for Elasticsearch and OpenSearch, see [GitHub - OpenSesame/GptSearchPlugin: Simple and pure Julia-based implementation of ChatGPT retrieval plugin logic](https://github.com/OpenSesame/GptSearchPlugin)
