Я ищу хороший с открытым исходным кодом (с LGPL или разрешающей лицензией) механизм индексирования для приложения node.js, что-то вроде Lucene. Я ищу индексирование и поиск в процессе и не интересуюсь серверами индексирования, такими как Sphinx или Solr.Есть ли хорошая индексация/поисковая система для Node.js?
Я не боюсь создавать привязки для библиотеки C/C++, поэтому я также открыт для таких предложений.
До сих пор я нашел
- узла CLucene, который, кажется, не будет активно поддерживать больше (и имеет несколько открытых вопросов)
- я мог бы создать мое собственное связывание для CLucene, но он, по-видимому, довольно редко поддерживается, и его текущая версия также находится совсем позади Java Lucene
- Apache Lucy, который, кажется, предназначен для создания привязок для d но до сих пор у них нет привязок узлов (а не API C), и я не нашел никаких документов о создании привязок. Я также не нашел каких-либо критериев производительности.
- узла поиска, который, кажется, отказались от
- jsii, который, кажется, все еще прототип, а также отказались от
- fullproof, который предназначен только для работы в веб-Broswer
- lunr.js, который, кажется, разрешает сериализацию всего индекса, поэтому он не масштабируется
Я мог бы " roll my own ", но я предпочел бы использовать уже существующее решение.
EDIT: Почему меня не интересует автономный сервер индексирования: Я использую быструю базу данных хранилища ключей в процессе, поэтому для обработки запросов было бы довольно ненужной тратой времени.
«и результаты возвращаются быстрее, чем решения на основе Lucene (например, Elastic Search)». Какие-то тесты, чтобы поддержать это? Я почти уверен, что большинство обзоров будут иметь это наоборот. –
Я использую очень быструю базу данных в процессе для ее скорости. Таким образом, наличие индекса вне процесса сделает его довольно смешным. – Venemo
Я смотрел на lunr, да, но в настоящее время он не поддерживает сохранение индекса без необходимости сериализовать весь индекс все время. – Venemo