Я собираюсь разработать и опубликовать приложение со следующими ограничениями:
- В приложении слишком много документов (страниц книг), которые необходимо искать по полному тексту поисковая система .
- Я хочу использовать последнюю версию Lucene в качестве поисковой системы, поскольку в версии 7 добавлены новые функции, и они мне нужны.
- Заявка должна быть написана на c ++ .
- Я хочу использовать Elastic для связи с Lucene, потому что Lucene работает на Java, а моя программа на C ++.
- Приложение должно работать в автономном режиме , поэтому я должен опубликовать данные индекса вместе с приложением.
- Текст документов должен быть защищен , чтобы его можно было прочитать у кого-либо из-за авторских прав на книги. Поэтому я сохранил его в зашифрованном виде в БД sqlite.
Если я сохраню текст в индексе, он может быть украден, что нарушит авторские права.
Если я не сохраняю текст, фрагменты выделения не могут быть получены из Elastic.
Так что мне нужна одна из этих функций в Elastic:
- Защита индексных данных, хранящихся в файловой системе
- Выделите текст, который не сохраняется, но передается в запросе. В этой ситуации я могу получить текст документа из зашифрованной БД и передать его в эластичный файл для каждого результата поиска, который будет выделен.
Я погуглил над функциями в Elastic, но ничего не нашел. (