Welcome to the Elasticsearch-search-engine project! This project is a comprehensive exploration of various technologies, from handling large datasets to utilizing them for building an application, and ultimately transitioning it into production. The primary goal of this project is to provide both text-based and image content-based search capabilities.
-
Data Preprocessing:
- Curated and refined the data to meet specific project requirements.
- Utilized a trained Convolutional Neural Network (VIT) to extract valuable features from raw images.
-
Indexing with ElasticSearch:
- Indexed both textual metadata and image features using ElasticSearch.
- Enables text-based search through the ElasticSearch Search API.
- Supports image-based search using cosine similarity on extracted features.
-
API Development:
- Created a robust API using the Elastic Python client and Flask.
- The API provides access to various search functionalities, ensuring complete control over the search process.
-
Web Application:
- Developed a JavaScript web application that leverages the created API.
- Users can personalize their search queries and view relevant results.
The project is organized into folders, and each folder contains a 'how_to' file with necessary configurations and guides. This ensures a straightforward setup and execution process.
To get started with the Elasticsearch-search-engine project, follow these steps:
- Clone the repository to your local machine.
- Navigate to each folder and refer to the 'how_to' file for configuration instructions.
- Ensure you have the required dependencies installed.
- Run the necessary scripts to set up and start the project components.
Make sure you have the following dependencies installed:
- ElasticSearch(and jdk)
- Python (with necessary libraries specified in the 'requirements' file)
- JavaScript (for the web application)
We welcome feedback and contributions to enhance the Elasticsearch-search-engine project. Feel free to open issues, submit pull requests, or reach out with any suggestions or concerns.
Thank you for choosing our project! We hope it proves to be a valuable tool for your text and image-based search needs.