พอร์ตของ Lunr.js ไปยัง. NET Core Lunr เป็นเหมือน Solr แต่เล็กกว่าและไม่สดใส
ดัชนีการค้นหาที่ง่ายมากสามารถสร้างได้โดยใช้สิ่งต่อไปนี้:
var index = await Index . Build ( async builder =>
{
builder
. AddField ( " title " )
. AddField ( " body " ) ;
await builder . Add ( new Document
{
{ " title " , " Twelfth-Night " } ,
{ " body " , " If music be the food of love, play on: Give me excess of it… " } ,
{ " author " , " William Shakespeare " } ,
{ " id " , " 1 " } ,
} ) ;
} ) ;
จากนั้นการค้นหานั้นง่ายเหมือน:
await foreach ( Result result in index . Search ( " love " ) )
{
// do something with that result
}
สิ่งนี้จะส่งคืนรายการเอกสารการจับคู่ด้วยคะแนนว่าพวกเขาจับคู่อย่างใกล้ชิดเพียงใดข้อความค้นหารวมถึงข้อมูลเมตาที่เกี่ยวข้องใด ๆ เกี่ยวกับการแข่งขัน:
new List < Result >
{
new Result (
documentReference : " 1 " ,
score : 0.3535533905932737 ,
matchData : new MatchData (
term : " love " ,
field : " body "
)
)
}
Lunr-Core เป็นไลบรารีการค้นหาข้อความขนาดเล็กสำหรับใช้ในแอปพลิเคชันขนาดเล็ก จัดทำดัชนีเอกสารและให้อินเทอร์เฟซการค้นหาอย่างง่ายสำหรับการดึงเอกสารที่ตรงกับการสืบค้นข้อความที่ดีที่สุด เข้ากันได้ 100% กับ LUNR.JS ซึ่งหมายความว่าไฟล์ดัชนีที่เตรียมไว้บนเซิร์ฟเวอร์ที่มี LUNR-CORE สามารถใช้กับไคลเอนต์ได้โดยใช้ LUNR.JS.
Lunr-core เหมาะสำหรับแอปพลิเคชันขนาดเล็กที่ต้องการเครื่องมือค้นหาอย่างง่าย แต่ไม่มีค่าใช้จ่ายของเครื่องมือค้นหาเต็มรูปแบบเช่น Lucene ความเข้ากันได้กับ LUNR.JS ยังเปิดสถานการณ์การค้นหาฝั่งไคลเอ็นต์ที่น่าสนใจ