Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/greenblat17/index-documents
Prototype of the service for entering, indexing and searching for txt files in the database
https://github.com/greenblat17/index-documents
docker java solr spring
Last synced: about 1 month ago
JSON representation
Prototype of the service for entering, indexing and searching for txt files in the database
- Host: GitHub
- URL: https://github.com/greenblat17/index-documents
- Owner: greenblat17
- Created: 2023-05-22T12:57:34.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-05-28T08:11:33.000Z (over 1 year ago)
- Last Synced: 2024-06-16T18:43:51.977Z (5 months ago)
- Topics: docker, java, solr, spring
- Language: Java
- Homepage:
- Size: 99.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ЛЭТИ. Учебная практика
Сервис ввода, индексации и поиска txt-образов документов в базе данных
## Задание
Приложение должно реализовывать следующие функции:
- создание индекса базы данных документов (построения нового индекса всей базы документов). Lucene - индекс должен
храниться на диске;
- индексация вновь добавленных в БД документа;
- очистка индекса от удаленных из БД версий документов;
- поиск релевантных документов по введенной строке.## Tech Stack
**Client:** HTML, CSS, Thymeleaf
**Server:** Java, Spring Framework, Hibernate, Solr, PostgreSQL
## Docker Launch
### Build Docker Container
Pull and run docker container for Solr
```bash
docker run -d -p 8983:8983 --name my_solr solr
```## Run Locally
Clone the project
```bash
https://github.com/greenblat17/etu-educational-practice.git
```Go to the project directory
```bash
cd etu-educational-practice
```Start the server
```bash
mvn spring-boot:run
```## API Reference
### Authentication
#### Registration (web page)
```http
GET / registration
```#### Registration
```http
POST /{
"username": "string"
"password": "string"
}
```#### Login (web page)
```http
GET / login
```### Index documents
#### Upload document
```http
POST /api/v1/documents/upload
```| Parameter | Type | Description |
|:-----------|:------------|:------------------------------------|
| `file` | `Multipart` | **Required**. document for indexing |
| `filename` | `String` | **Required**. document name |#### Update document
```http
PUT /api/v1/documents/update
```| Parameter | Type | Description |
|:-----------|:------------|:------------------------------------|
| `file` | `Multipart` | **Required**. document for updating |
| `filename` | `String` | **Required**. document name |#### Download document
```http
GET /api/v1/documents/download
```| Parameter | Type | Description |
|:----------------|:------------|:------------------------------------|
| `file` | `Multipart` | **Required**. document for updating |
| `download date` | `String` | **Required**. document upload date |#### Delete document
```http
DELETE /api/v1/documents/delete
```#### Search document
```http
GET /api/v1/documents/search
```| Parameter | Type | Description |
|:----------------|:---------|:-----------------------------------------|
| `search-line` | `String` | **Required**. line for searching in file |## Authors
- [Александр Журавлев](https://github.com/greenblat17)
- [Лев Осипов](https://github.com/BabyJhon)
- [Павел Зайцев](https://github.com/TrampolineZaytsev)