


이 프로젝트는 프로젝트에서 Search Engine Solr 서비스의 소비에서 Solrnet 의 운영을 탐색하는 것을 목표로합니다. 순 코어.
프로젝트가 복제 된 후 설치 단계에 설명 된 단계를 따르십시오.
git clone https://github.com/AntonioFalcao/SolrDotnetSample.git다음 리소스에는 환경이 필요합니다.
이 기능을 확인하려면 :
dotnet --version자세한 내용은
dotnet --info설치하려면 :
dotnet tool install --global dotnet-ef이 기능을 확인하려면 :
dotnet-ef --version이 기능을 확인하려면 :
docker --version컨테이너 화를 사용하면 필요한 인프라를 실제로 제공 할 수 있습니다.
처음에는 Compose ./solr-compose 통해 검색 엔진 의 필요성을 충족시키기 위해 Solr 서비스를 사용합니다.
docker-compose -f solr-compose.yml up -d Solr Core라고하는 표준 색인은 entrypoint 의 my_core 로 정의되고 표준 포트 매핑 8983:8983 :
services :
# comment for brevity
ports :
- " 8983:8983 "
entrypoint :
- solr-precreate
- my_core
# comment for brevity SOLR의 필드의 정의는 데이터가 모델에서 원하는 동일한 표현을 갖도록하는 필수 단계입니다.
그렇게하는 두 가지 방법이 있습니다. 그중 하나는 Schema.xml에서 필드의 세부 사항을 정의하는 것입니다. 다른 방법은 서비스 API를 직접 호출하는 것입니다. 두 번째 대안의 경우 프로젝트에는 Solr-Add Fields.http 파일이 있습니다.
POST http://localhost:8983/solr/my_core/schema
Content-Type: application/json
{
"add-field" :{
"name" : " Description " ,
"type" : " string " ,
"stored" : true
},
"add-field" :{
"name" : " Title " ,
"type" : " string " ,
"stored" : true
},
}
### comment for brevity 환경을 프로비저닝하고 필드를 구성하면 단계를 통해 데이터를 뿌릴 수 있습니다.
이 단계에서 데이터 파종은 관계형 DB에 발생합니다.
dotnet ef database update -s ./src/SolrDotnetSample.WebApi/ -p ./src/SolrDotnetSample.Repositories/두 가지 옵션을 사용할 수 있으며
- 새로운 데이터를 생성합니다.
- 관계형 데이터를 마이그레이션합니다.
docker build -t seed -f ./consoleApp.Dockerfile . && docker run -it seed단위 및 통합 테스트는 다음과 같은 명령으로 실행할 수 있습니다.
dotnet test 기능적으로 테스트를 실행하려면 처음에 웹 서비스를 사용할 수 있도록 프로젝트를 실행해야합니다.
docker build -t webapi -f ./webApi.Dockerfile . && docker run -p 5000:5000 webapi 라우팅은 표준
http://hostname:port/api/v{version}/controller따릅니다.
전화를 걸려면 나머지 클라이언트 확장자를 통해 ./basic-api-call.http 파일을 사용 할 수 있습니다.
/api/v1/...은 관계형 데이터베이스를 사용합니다.
/api/v2/...은 Solr을 사용합니다
### V1 - Relational DB
GET http://localhost:5000/api/v1/posts
### V2 - NoSql DB
GET http://localhost:5000/api/v2/posts
### V1 - Relational DB
POST http://localhost:5000/api/v1/posts
Content-Type: application/json
{
"Description" : " Description " ,
"ExpiryDate" : " 2020-01-01 " ,
"IsActive" : true ,
"IsSold" : true ,
"PostDate" : " 2020-01-01 " ,
"Price" : 0 ,
"Title" : " Title "
}
### comment for brevity Project GitHub Action에서 제공되는 Dreadmill (CI/CD)에 대한 자세한 내용
곧 사용할 수 있습니다!
우리는 버전 관리에 Semver를 사용합니다. 사용 가능한 버전은이 저장소의 태그를 참조하십시오.
이 프로젝트에 참여한 기고자 목록도 참조하십시오.
이 프로젝트는 MIT 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 License.md 파일을 참조하십시오.