


โครงการนี้มีวัตถุประสงค์เพื่อสำรวจการดำเนินงานของ SolrNet ในการบริโภคบริการ Search Engine 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 ถูกกำหนดเป็น my_core ใน entrypoint รวมถึงการแมปพอร์ตมาตรฐาน 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 ในการดำเนินการทดสอบตามหน้าที่เราต้องเริ่มดำเนินการโครงการเพื่อให้บริการเว็บพร้อมใช้งาน
docker build -t webapi -f ./webApi.Dockerfile . && docker run -p 5000:5000 webapi การกำหนดเส้นทางเป็นไปตามมาตรฐาน
http://hostname:port/api/v{version}/controller
ในการโทรออกคุณอาจใช้ไฟล์./basic-api-call.http ผ่านส่วนขยายไคลเอนต์ REST ตัวอย่างเช่น:
/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 รายละเอียดเกี่ยวกับ Treadmill (CI/CD) ที่มีอยู่ในการดำเนินการโครงการ GitHub
มีให้เร็ว ๆ นี้!
เราใช้ semver สำหรับการกำหนดเวอร์ชัน สำหรับเวอร์ชันที่มีให้ดูที่แท็กในที่เก็บนี้
ดูรายชื่อผู้สนับสนุนที่เข้าร่วมในโครงการนี้
โครงการนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT - ดูไฟล์ License.md สำหรับรายละเอียด