Возможно ли использовать Lucene с JavaScript для поиска по статическим веб-страницам?

У меня есть куча статических веб-страниц во внутренней сети. Хочу добавить возможность поиска по ним с помощью JavaScript. Индекс Lucene будет лежать в той же папке, что и JS-файлы. Реально ли как-то подружить Lucene с JavaScript для такой задачи?

Я пытался гуглить, но не нашел ничего конкретного. Может, кто-то уже делал что-то подобное? Или есть какие-то альтернативные способы организовать поиск по статическим страницам на клиентской стороне?

Буду благодарен за любые идеи или примеры кода. Главное - чтобы решение работало без сервера, только на JavaScript.

на самом деле есть еще один интересный вариант - можно попробовать использовать WebAssembly для запуска Lucene в браузере. я недавно экспериментировал с этим подходом, и это реально работает! правда, пришлось повозиться с настройкой сборки и оптимизацией производительности.

если интересно, могу поделиться деталями реализации. главное - не забудь про ограничения по размеру индекса, чтобы страница не тормозила при загрузке. удачи с проектом!

Использовать Lucene напрямую с JavaScript будет проблематично. Для статических страниц лучше посмотреть в сторону готовых JS-библиотек для поиска, например Lunr.js или Elasticlunr.js. Они позволяют создать индекс на клиенте и выполнять поиск без сервера.

Альтернативный вариант - сгенерировать индекс заранее и положить JSON-файл рядом со страницами. Потом можно загрузить его через AJAX и искать по нему на JS.

В любом случае, для больших объемов данных клиентский поиск будет не очень эффективен. Возможно, стоит рассмотреть простой серверный вариант.

Слушай, а ты не думал про IndexedDB? Это встроенная в браузер база данных, можно хранить и искать прям на клиенте. Я как-то делал похожую штуку - индексировал контент, сохранял в IndexedDB и искал через JavaScript. Работает шустро, даже на больших объемах. Правда, придется самому написать логику индексации и поиска, зато никаких внешних зависимостей. Как тебе такой вариант?