


Ce projet vise à explorer le fonctionnement de SOLRNET dans la consommation du service Solr moteur de recherche dans les projets. Net Core.
Après le clone du projet et suivez les étapes décrites dans l'étape d'installation.
git clone https://github.com/AntonioFalcao/SolrDotnetSample.gitL'environnement est nécessaire avec les ressources suivantes:
Pour vérifier cette fonctionnalité:
dotnet --versionPour plus de détails
dotnet --infoPour installer:
dotnet tool install --global dotnet-efPour vérifier cette fonctionnalité:
dotnet-ef --versionPour vérifier cette fonctionnalité:
docker --versionAvec l'utilisation de la conteneurisation , nous pouvons pratiquement fournir l'infrastructure nécessaire.
Initialement, nous utiliserons le service SOLR pour répondre au besoin de moteur de recherche via Compose ./solr-compose .
docker-compose -f solr-compose.yml up -d L'indice standard, appelé Solr Core est défini comme my_core en entrypoint , ainsi que la cartographie des ports standard 8983:8983 :
services :
# comment for brevity
ports :
- " 8983:8983 "
entrypoint :
- solr-precreate
- my_core
# comment for brevity La définition des champs dans le SOLR est une étape essentielle, pour garantir que les données auront la même représentation souhaitée par le modèle.
Il y a deux façons pour cela, l'un d'eux est de définir les détails des champs de Schema.xml, l'inverse est de passer des appels directs à l'API de service. Pour la deuxième alternative, il y a le fichier Solr-Add Fields.http disponible sur le projet:
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 Une fois fourni l'environnement et configuré les champs, nous pouvons semer les données via les étapes:
À ce stade, le semis de données se produira dans la base de données relationnelle.
dotnet ef database update -s ./src/SolrDotnetSample.WebApi/ -p ./src/SolrDotnetSample.Repositories/Deux options seront disponibles, et
- Générer de nouvelles données.
- Migrer les données relationnelles.
docker build -t seed -f ./consoleApp.Dockerfile . && docker run -it seedLes tests d'unité et d'intégration peuvent être exécutés avec leur commande:
dotnet test Pour exécuter des tests fonctionnellement, nous devons initialement exécuter le projet pour rendre le service Web disponible.
docker build -t webapi -f ./webApi.Dockerfile . && docker run -p 5000:5000 webapi Le routage suit le nom
http://hostname:port/api/v{version}/controller
Pour passer des appels, vous pouvez utiliser le fichier ./basic-api-call.http via l'extension du client Rest, par exemple:.
/api/v1/...utilise la base de données relationnelle.
/api/v2/...utilise le 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 Détails sur le tapis roulant (CI / CD) disponible dans les actions du projet GitHub
Disponible bientôt!
Nous utilisons Semver pour le versioning. Pour les versions disponibles, consultez les balises de ce référentiel.
Voir également la liste des contributeurs qui ont participé à ce projet.
Ce projet est sous licence en vertu de la licence MIT - voir le fichier licence.md pour plus de détails