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: 2 months 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 (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-28T08:11:33.000Z (about 3 years ago)
- Last Synced: 2025-03-16T12:15:45.810Z (over 1 year 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)