System has 3 main components.
Java Maven based protoc project to generate Java sources from proto file
- apps/search/proto
- src/proto/search.proto
- Java 11
- Maven 3.8
- Internet connection for downloading maven packages
mvn install
- Backend is Spring Boot application which provides GRPC Server for Frontend application.
- Written in Java 11
- Supports ttl cache
- EQUAL , NOT EQUAL , INCLUDE , REGEX support
- Multiple statement support
- Container friendly architecture
- unlenen.es.search.be.controller.SearchServiceGrpc
- unlenen.es.search.be.service.ESSearchService
- unlenen.es.search.be.service.CachedSearchService
- unlenen.es.search.be.entity
- unlenen.es.search.be.entity.QueryTest
- Java 11
- Maven 3.8
- Internet connection for downloading maven packages
- ElasticSearch 7.17
- GRPC Proto jar
mvn install
java -jar target/es_search_be-1.0.jar --grpc.server.port=9898
docker build . -t unlenen/es_search_be:1.0
docker run --name es_search_be -d -p 9898:9898 -e ELASTICSEARCH_HOST=192.168.1.24 unlenen/es_search_be:1.0
mvn test
- Frontend is a classic CLI application which uses GRPC for connecting to Search Backend
- unlenen.es.search.fe.service.SearchService
- unlenen.es.search.fe.ui.MainView
- Java 11
- Maven 3.8
- Internet connection for downloading maven packages
- GRPC Proto jar
mvn install
java -jar target/es_search_fe-1.0.jar --grpc.client.unlenenEsSearchBe.address=static://localhost:9898 --search.ttl=10000
cd scripts/docker
./install.sh
cd scripts/elasticsearch
./install.sh
cd test/scripts
cat ./base.sh
cd test/scripts
./createIndex.sh
cd test/scripts
./uploadMappings.sh
cd test/scripts
./uploadDoc.sh
cd test/grpc
./testGrpc.sh region EQUAL earth
cd test/grpc
./loadTest.sh 1000