คล้ายกับ Solr เล็กน้อย แต่เล็กกว่ามากและไม่สว่างเท่า
คุณสามารถสร้างดัชนีการค้นหาอย่างง่ายได้โดยใช้สิ่งต่อไปนี้:
var idx = lunr ( function ( ) {
this . field ( 'title' )
this . field ( 'body' )
this . add ( {
"title" : "Twelfth-Night" ,
"body" : "If music be the food of love, play on: Give me excess of it…" ,
"author" : "William Shakespeare" ,
"id" : "1"
} )
} )
จากนั้นการค้นหาก็ทำได้ง่ายเพียง:
idx . search ( "love" )
ซึ่งจะส่งคืนรายการเอกสารที่ตรงกันพร้อมคะแนนว่าเอกสารเหล่านั้นตรงกับคำค้นหามากน้อยเพียงใด รวมถึงข้อมูลเมตาที่เกี่ยวข้องเกี่ยวกับการจับคู่นั้น:
[
{
"ref" : "1" ,
"score" : 0.3535533905932737 ,
"matchData" : {
"metadata" : {
"love" : {
"body" : { }
}
}
}
}
]
มีเอกสารประกอบ API รวมถึงตัวอย่างการทำงานแบบเต็ม
Lunr.js เป็นไลบรารีการค้นหาข้อความแบบเต็มขนาดเล็กสำหรับใช้ในเบราว์เซอร์ โดยจะจัดทำดัชนีเอกสาร JSON และจัดเตรียมอินเทอร์เฟซการค้นหาที่เรียบง่ายสำหรับการดึงเอกสารที่ตรงกับข้อความค้นหามากที่สุด
สำหรับเว็บแอปพลิเคชันที่มีข้อมูลทั้งหมดอยู่ในไคลเอนต์อยู่แล้ว ก็สมเหตุสมผลที่จะสามารถค้นหาข้อมูลนั้นบนไคลเอนต์ได้เช่นกัน ช่วยประหยัดการเพิ่มบริการพิเศษแบบกระชับบนเซิร์ฟเวอร์ ดัชนีการค้นหาในท้องถิ่นจะเร็วขึ้น ไม่มีค่าใช้จ่ายด้านเครือข่าย และจะยังคงพร้อมใช้งานและใช้งานได้แม้ว่าจะไม่ได้เชื่อมต่อเครือข่ายก็ตาม
เพียงรวมไฟล์ต้นฉบับ lunr.js ไว้ในเพจที่คุณต้องการใช้ Lunr.js ได้รับการสนับสนุนในเบราว์เซอร์สมัยใหม่ทั้งหมด
อีกทางเลือกหนึ่งคือแพ็คเกจ npm npm install lunr
เบราว์เซอร์ที่ไม่รองรับ ES5 จะต้องมีชิม JavaScript เพื่อให้ Lunr ทำงานได้ คุณสามารถใช้ Augment.js, ES5-Shim หรือไลบรารีใดๆ ที่แพตช์เบราว์เซอร์เก่าเพื่อให้มีสภาพแวดล้อม JavaScript ที่เข้ากันได้กับ ES5
ดูไฟล์ CONTRIBUTING.md