


このプロジェクトの目的は、プロジェクトでの検索エンジン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コンテナ化を使用すると、必要なインフラストラクチャを実際に提供できます。
最初はSOLRサービスを使用して、Compose ./solr-composeを介して検索エンジンの必要性を満たします。
docker-compose -f solr-compose.yml up -d solrコアと呼ばれる標準インデックスは、 entrypointのmy_coreとして定義され、標準のポートマッピング8983:8983 :
services :
# comment for brevity
ports :
- " 8983:8983 "
entrypoint :
- solr-precreate
- my_core
# comment for brevity SOLRのフィールドの定義は、データがモデルによって望ましい同じ表現を確実に持つことを保証するための不可欠なステップです。
これには2つの方法があります。そのうちの1つは、schema.xmlのフィールドの詳細を定義することです。もう1つの方法は、Service APIに直接電話をかけることです。 2番目の代替案では、プロジェクトで利用可能な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/2つのオプションが利用可能になります
- 新しいデータを生成します。
- リレーショナルデータを移行します。
docker build -t seed -f ./consoleApp.Dockerfile . && docker run -it seed単位および統合テストは、コマンドで実行できます。
dotnet test テストを機能的に実行するには、最初にプロジェクトを実行してWebサービスを利用できるようにする必要があります。
docker build -t webapi -f ./webApi.Dockerfile . && docker run -p 5000:5000 webapi ルーティングは標準の
http://hostname:port/api/v{version}/controllerに従います
通話を行うには、RESTクライアント拡張機能を介して./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アクションで利用可能なTreadmill(CI/CD)の詳細
すぐに利用可能!
バージョン化にはSemverを使用しています。利用可能なバージョンについては、このリポジトリのタグを参照してください。
このプロジェクトに参加した貢献者のリストも参照してください。
このプロジェクトはMITライセンスに基づいてライセンスされています - 詳細については、license.mdファイルを参照してください