> For the complete documentation index, see [llms.txt](https://rajadilipkolli.gitbook.io/my-spring-boot-experiments/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rajadilipkolli.gitbook.io/my-spring-boot-experiments/boot-opensearch-sample.md).

# OpenSearch Implementation

Showcases saving data and performing swift geospatial or text-based searches in OpenSearch as an alternative to Elasticsearch.

***

## Key Features

* **OpenSearch Client**: Illustrates setting up a Spring Boot app to send documents to an OpenSearch cluster.
* **Geospatial Queries**: Provides examples of storing and querying location-based data.
* **High Throughput**: Demonstrates efficient indexing and search operations.

***

### **Querying**

You can use either:

* Swagger UI for built-in endpoints.
* OpenSearch Dashboards for manual searching.

***

### Format code

```shell
./mvnw spotless:apply
```

### Run tests

```shell
./mvnw clean verify
```

### Run locally

```shell
docker-compose -f docker/docker-compose.yml up -d
./mvnw spring-boot:run -Dspring-boot.run.profiles=local
```

### Using Testcontainers at Development Time

You can run `TestApplication.java` from your IDE directly. You can also run the application using Maven as follows:

```shell
./mvnw spring-boot:test-run
```

### Useful Links

* Swagger UI: <http://localhost:8080/swagger-ui.html>
* Actuator Endpoint: <http://localhost:8080/actuator>
