Tôi đang tìm kiếm một mã nguồn mở mã nguồn mở (với LGPL hoặc giấy phép cho phép) cho một ứng dụng node.js, giống như Lucene. Tôi đang tìm kiếm trong quá trình lập chỉ mục và tìm kiếm và không quan tâm đến việc lập chỉ mục các máy chủ như Sphinx hoặc Solr.Có công cụ lập chỉ mục/tìm kiếm tốt cho Node.js không?
Tôi không ngại tạo các ràng buộc cho thư viện C/C++ vì vậy tôi cũng mở cho các loại đề xuất đó.
Cho đến nay tôi đã tìm thấy
- nút-clucene mà dường như không được tích cực duy trì nữa (và có một số vấn đề mở)
- tôi có thể tạo ra ràng buộc của riêng mình cho CLucene nhưng có vẻ như được duy trì khá thưa thớt và phiên bản hiện tại của nó cũng khá đằng sau Java Lucene
- Apache Lucy có vẻ như được thiết kế cho mục đích tạo liên kết cho d ynamic ngôn ngữ, nhưng cho đến nay họ không có bindings nút (cũng không phải là một API C) và tôi đã không tìm thấy bất kỳ tài liệu về việc tạo bindings. Tôi cũng không tìm thấy bất kỳ điểm chuẩn nào về hiệu suất của nó.
- nút tìm kiếm mà dường như bị bỏ rơi
- jsii mà có vẻ là vẫn còn là một nguyên mẫu và cũng bị bỏ rơi
- fullproof mà chỉ dùng để chạy trong một broswer web
- lunr.js dường như chỉ cho phép tuần tự hóa toàn bộ chỉ mục, vì vậy không thể mở rộng được
Tôi có thể " cuộn của riêng tôi ", nhưng tôi muốn sử dụng một giải pháp đã tồn tại.
CHỈNH SỬA: Tại sao tôi không quan tâm đến máy chủ chỉ mục độc lập: Tôi sử dụng cơ sở dữ liệu lưu trữ khóa-giá trị nhanh trong quá trình, vì vậy sẽ khá lãng phí khi phải thực hiện quá trình truy vấn.
"và kết quả được trả về nhanh hơn các giải pháp dựa trên Lucene (chẳng hạn như Tìm kiếm Đàn hồi)." Bất kỳ điểm chuẩn nào để sao lưu? Tôi gần như chắc chắn hầu hết các đánh giá sẽ có nó theo cách khác xung quanh. –
Tôi sử dụng cơ sở dữ liệu trong quá trình rất nhanh cho tốc độ của nó. Vì vậy, có một chỉ số quá trình sẽ làm cho nó khá lố bịch. – Venemo
Tôi đã xem lunr, vâng, nhưng hiện tại nó không hỗ trợ sự bền bỉ của chỉ mục mà không phải tuần tự hóa toàn bộ chỉ mục. – Venemo