


Este proyecto tiene como objetivo explorar el funcionamiento de SolRNet en el consumo del servicio SOLR SOLR en proyectos. Núcleo neto.
Después del proyecto clon y siga los pasos descritos en el paso de instalación.
git clone https://github.com/AntonioFalcao/SolrDotnetSample.gitEl entorno es necesario con los siguientes recursos:
Para verificar esta funcionalidad:
dotnet --versionPara más detalles
dotnet --infoPara instalar:
dotnet tool install --global dotnet-efPara verificar esta funcionalidad:
dotnet-ef --versionPara verificar esta funcionalidad:
docker --versionCon el uso de la contenedorización , prácticamente podemos aprovisionar la infraestructura necesaria.
Inicialmente, utilizaremos el servicio SOLR para satisfacer la necesidad de un motor de búsqueda a través de la composición ./solr-compose .
docker-compose -f solr-compose.yml up -d El índice estándar, denominado núcleo Solr se define como my_core en entrypoint , así como la asignación de puerto estándar 8983:8983 :
services :
# comment for brevity
ports :
- " 8983:8983 "
entrypoint :
- solr-precreate
- my_core
# comment for brevity La definición de los campos en el SOLR es un paso esencial, para garantizar que los datos tengan la misma representación deseada por el modelo.
Hay dos formas de hacerlo, una de ellas es definir los detalles de los campos en Schema.xml, la otra forma es hacer llamadas directas a la API del servicio. Para la segunda alternativa, existe el archivo Solr-Add-Fields.http disponible en el proyecto:
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 Una vez que aprovisionó el entorno y configuramos los campos, podemos sembrar datos a través de los pasos:
En esta etapa, la siembra de datos se producirá a la DB relacional.
dotnet ef database update -s ./src/SolrDotnetSample.WebApi/ -p ./src/SolrDotnetSample.Repositories/Estarán disponibles dos opciones y
- Generar nuevos datos.
- Migrar datos relacionales.
docker build -t seed -f ./consoleApp.Dockerfile . && docker run -it seedLas pruebas de unidad y de integración se pueden ejecutar con su comando:
dotnet test Para ejecutar las pruebas funcionalmente, debemos ejecutar inicialmente el proyecto para que el servicio web esté disponible.
docker build -t webapi -f ./webApi.Dockerfile . && docker run -p 5000:5000 webapi El enrutamiento sigue el estándar
http://hostname:port/api/v{version}/controller
Para hacer llamadas, puede estar utilizando el archivo ./basic-api-call.http a través de la extensión del cliente REST, por ejemplo:.
/api/v1/...usa la base de datos relacional.
/api/v2/...usa el 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 Detalles sobre la cinta de correr (CI/CD) disponible en las acciones de Project GitHub
¡Disponible pronto!
Usamos Semver para versiones. Para las versiones disponibles, consulte las etiquetas en este repositorio.
Vea también la lista de contribuyentes que participaron en este proyecto.
Este proyecto tiene licencia bajo la licencia MIT: consulte el archivo de licencia.md para más detalles