A Full-Text Search Golang Microservice integrated with Elastic Search
Go-ES is a microservice written in Go that provides a full-text search functionality using Elastic Search. It allows users to perform various operations such as indexing, searching, and retrieving documents. This is a for more simpler usage than elastic for whom do not want to dive deep into elastic search echo system. For advance usage, use elastic search sdks or rest api.
The indices used for documents are more like aliases than indices in elasticsearch. In the backend we create an index with datetime in the index name (the one users sent) and create an alias with exact index name as users requests.
- Integration with Elastic Search for full-text search capabilities
- Support for indexing and searching documents
- Retrieval of documents based on search queries
- Error handling and logging mechanisms
- Elastic Search 8.17.1 (other version hasn't been tested against yet)
- Elastic Search API Key
To install Go-ES, following these steps:
- Go to the release page and download your os and architecture
- Copy and modify the config.yaml file
- Run the downloaded executable via
./go-es --config=config.yaml
To install Go-ES, follow these steps:
- Clone the repository:
https://github.com/MeowSaiGithub/go-es.git
- Navigate to the project directory:
cd go-es
- Build the project:
go build -o go-es
- Modify the Configuration file config.yaml to suit your needs
- Run the project:
./go-es --config config.yaml
To install Elastic Search using Docker - https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html
To install Go-ES using Docker, follow these steps:
- Clone the repository:
https://github.com/MeowSaiGithub/go-es.git
- Navigate to the project directory:
cd go-es
- Modify the Configuration file config.yaml to suit your needs
- Build the Docker image:
docker build -t go-es .
- Run the Docker container:
docker run --network elastic -p 8080:8080 go-es
The project uses a configuration file config.yaml
to store settings for Elastic Search and other dependencies.
You can modify this file to suit your needs. You can see the example in the config for references.
The project provides several API endpoints for interacting with the full-text search functionality. Please see sample-request.md for references.
Go-ES is licensed under the Apache License, Version 2.0. See the LICENSE file for more information.
Contributions are welcome! If you'd like to contribute to Go-ES, please fork the repository and submit a pull request with your changes.