Подтвердить что ты не робот

Как создать полнотекстовую поисковую систему на стороне клиента с использованием чистого JavaScript и HTML5?

Мне нужно создать клиентскую поисковую систему для автономного приложения html в автономном хранилище, таком как CDROM. Я уже создаю его с помощью Win32, а файл каталога - около 2 ГБ (файл MDB).

Мое автономное веб-приложение использует CEF (Chromium Embedded Framework) и PhoneGAP, поэтому я могу отключить веб-безопасность браузера. Я думал, что IndexedDB может мне помочь, но я все равно не смог скопировать файл хранилища на другой носитель.

  • Мой файл каталога будет около 2 ГБ, поэтому я не могу прочитать всю запись в памяти.
  • Мне нужно сделать перекрестный перевод медиаданных с помощью PhoneGAP, поэтому я не могу использовать объекты activeX для окончательного поиска. Также я могу отключить ограничение безопасности в Интернете с помощью этих инструментов.
  • Я могу создать файл каталога и медиа с любым окном. ключевое примечание: выходной файл, запрашивающий каталог, должен быть чистым JavaScript.

Есть ли какая-либо система хранения большого объема HTML5 (я могу отключить веб-безопасность от PhoneGAP) для создания автономного каталога поиска HTML-приложений, который можно скопировать на другие съемные носители?

4b9b3361

Ответ 1

Reyes делает полнотекстовую поисковую систему для этой цели: https://github.com/reyesr/fullproof

В течение последнего сентября Paris JS он сделал презентацию концепций: http://kornr.net/prez/paris.js22/#/

Надеюсь, он ответит на ваши нужды.

Ответ 2

Я думаю, что в то же время lunr.js. Он имеет в 3 раза больше звезд на Гитубе.

Ответ 3

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

И - MongoDB хранит базу данных в BSON. Вы также можете подумать о сохранении вашей базы данных в этом формате и загрузить ее из своего приложения (я бы предложил расщепить всю базу данных на более мелкие части).

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

И да, возможно иметь автономное приложение html + js, которое будет читать базу данных BSON без какого-либо сервера. Проверьте эту ссылку, если хотите узнать больше. Я слышал об этом раньше, но у меня совершенно нет опыта, когда дело касается обработки файлов BSON в чистом JS, поэтому я не могу помочь вам в этом. Все, что я мог сделать, это сообщить вам, что такая вещь существует:)