SolrDotnetSample
1.0.0



该项目旨在探索Solrnet在项目中搜索引擎Solr服务消费中的操作。网芯。
项目克隆之后,并按照安装步骤中描述的步骤进行操作。
git clone https://github.com/AntonioFalcao/SolrDotnetSample.git以下资源需要环境:
检查此功能:
dotnet --version有关更多详细信息
dotnet --info安装:
dotnet tool install --global dotnet-ef检查此功能:
dotnet-ef --version检查此功能:
docker --version通过使用容器化,我们实际上可以提供必要的基础架构。
最初,我们将使用Solr服务来满足搜索引擎的需求./solr-compose 。
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 一旦配置了环境并配置了字段,我们就可以通过步骤播种数据:
在此阶段,数据播种将发生在关系数据库中。
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 要在功能上执行测试,我们必须最初执行项目以使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 项目GitHub动作中可用的跑步机(CI/CD)的详细信息
很快可用!
我们使用SEMVER进行版本控制。有关可用的版本,请参见此存储库上的标签。
另请参阅参与该项目的贡献者列表。
该项目已根据MIT许可证获得许可 - 有关详细信息,请参见许可证文件。