Lunr.js
Giống Solr một chút, nhưng nhỏ gọn hơn và không sáng sủa bằng vậy.
Ví dụ
Một chỉ mục tìm kiếm rất đơn giản có thể được tạo bằng cách sử dụng:
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"
})
})
Sau đó, việc tìm kiếm cũng đơn giản như sau:
idx.search("love")
Điều này trả về một danh sách các tài liệu khớp với truy vấn tìm kiếm cũng như bất kỳ siêu dữ liệu liên quan nào về sự khớp:
[
{
"ref": "1",
"score": 0.3535533905932737,
"matchData": {
"metadata": {
"love": {
"body": {}
}
}
}
}
]
API documentation có sẵn, cũng như một full working example.
Mô tả
Lunr.js là một thư viện tìm kiếm toàn văn bản nhỏ gọn dành cho việc sử dụng trong trình duyệt. Nó chỉ mục các tài liệu JSON và cung cấp một giao diện tìm kiếm đơn giản để truy xuất tài liệu phù hợp nhất với truy vấn văn bản.
Tại sao
Đối với các ứng dụng web có dữ liệu của họ đã nằm trong máy khách, việc tìm kiếm dữ liệu đó trên máy khách cũng là một ý tưởng hợp lý. Điều này giúp tránh phải thêm các dịch vụ nén thêm trên máy chủ. Một chỉ mục tìm kiếm cục bộ sẽ nhanh hơn, không có chi phí mạng, và sẽ luôn sẵn có và sử dụng ngay cả khi không có kết nối mạng.
Cài đặt
Đơn giản chỉ cần bao gồm tệp nguồn lunr.js trong trang mà bạn muốn sử dụng nó. Lunr.js được hỗ trợ trong tất cả các trình duyệt hiện đại.
Ngoài ra, có sẵn gói npm npm install lunr
.
Các trình duyệt không hỗ trợ ES5 sẽ cần một shim JavaScript để Lunr hoạt động. Bạn có thể sử dụng Augment.js, ES5-Shim hoặc bất kỳ thư viện nào điều chỉnh các trình duyệt cũ để cung cấp môi trường JavaScript tương thích với ES5.
Tính năng
- Hỗ trợ tìm kiếm toàn văn bản cho 14 ngôn ngữ
- Tăng cường các thuật ngữ trong thời gian truy vấn hoặc tăng cường toàn bộ tài liệu trong thời gian chỉ mục
- Giới hạn tìm kiếm đến các trường cụ thể
- Tìm kiếm độ tương tự cho các thuật ngữ với ký tự đại diện hoặc khoảng cách chỉnh sửa
Đóng góp
Xem tệp CONTRIBUTING.md
.
Chi tiết Tải về:
Tác giả: olivernn
Mã nguồn: https://github.com/olivernn/lunr.js
Giấy phép: MIT license