


Dieses Projekt zielt darauf ab, den Betrieb von SolRNet beim Verbrauch des Suchmaschinen -Solr -Service in Projekten zu untersuchen. Netzkern.
Nach dem Projekt Klon und befolgen Sie die im Installationsschritt beschriebenen Schritte.
git clone https://github.com/AntonioFalcao/SolrDotnetSample.gitMit folgenden Ressourcen ist eine Umgebung erforderlich:
So überprüfen Sie diese Funktionalität:
dotnet --versionFür weitere Details
dotnet --infoZu installieren:
dotnet tool install --global dotnet-efSo überprüfen Sie diese Funktionalität:
dotnet-ef --versionSo überprüfen Sie diese Funktionalität:
docker --versionMit der Verwendung von Containerisierung können wir die erforderliche Infrastruktur praktisch vorlegen.
Zunächst werden wir den Solr- Service nutzen, um die Notwendigkeit von Suchmaschinen durch Kompose ./solr-compose zu erfüllen.
docker-compose -f solr-compose.yml up -d Der als Solr -Kern bezeichnete Standardindex ist in entrypoint als my_core sowie als Standard -Port -Zuordnung 8983:8983 definiert:
services :
# comment for brevity
ports :
- " 8983:8983 "
entrypoint :
- solr-precreate
- my_core
# comment for brevity Die Definition der Felder im Solr ist ein wesentlicher Schritt, um sicherzustellen, dass die Daten die gleiche Darstellung haben, die vom Modell gewünscht wird.
Es gibt zwei Möglichkeiten, dies zu tun. Eine davon besteht darin, die Details der Felder in schema.xml zu definieren. Die andere Möglichkeit besteht darin, direkte Anrufe bei der Service -API zu tätigen. Für die zweite Alternative gibt es die Solr-add-Felder.http-Datei für das Projekt:
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 Sobald die Umgebung bereitgestellt und die Felder konfiguriert wurde, können wir Daten durch die Schritte säen:
In diesem Stadium treten die Datensaat auf die relationale DB auf.
dotnet ef database update -s ./src/SolrDotnetSample.WebApi/ -p ./src/SolrDotnetSample.Repositories/Es werden zwei Optionen verfügbar sein, und
- Neue Daten generieren.
- Relationale Daten migrieren.
docker build -t seed -f ./consoleApp.Dockerfile . && docker run -it seedEinheit- und Integrationstests können mit ihrem Befehl durchgeführt werden:
dotnet test Um Tests funktional auszuführen, müssen wir das Projekt zunächst ausführen, um den Webdienst zur Verfügung zu stellen.
docker build -t webapi -f ./webApi.Dockerfile . && docker run -p 5000:5000 webapi Das Routing folgt dem Standard
http://hostname:port/api/v{version}/controller
Um Anrufe zu tätigen, verwenden Sie möglicherweise die Datei ./basic-api-call.http über die REST-Client-Erweiterung, zum Beispiel:
/api/v1/...verwendet die relationale Datenbank.
/api/v2/...verwendet das 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 Details zu Laufband (CI/CD), die in Projektgithub -Aktionen verfügbar sind
Bald verfügbar!
Wir verwenden Semver für die Versionierung. Die verfügbaren Versionen finden Sie in den Tags in diesem Repository.
Siehe auch die Liste der Mitwirkenden, die an diesem Projekt teilgenommen haben.
Dieses Projekt ist unter der MIT -Lizenz lizenziert - finden Sie in der lizenz.md -Datei für Details