Как реализовать полнотекстовый поиск на зашифрованном документе, имеющем несколько страниц? - PullRequest
0 голосов
/ 19 июня 2019

У меня есть сотни документов, и у каждого документа есть несколько страниц.Пользователь может искать в документе слово или предложение.Теперь я ожидаю получить все возвращаемые файлы, содержащие искомый текст.

В настоящее время используются остальные API-интерфейсы с Angular в качестве внешнего интерфейса.

Я только что проверил Эластичный поиск .

и

Повторный поиск Полнотекстовый поиск

Мне нравитсяповторный поиск, но я не уверен, насколько он безопасен, потому что он сначала создает индексы для фактических данных.

Моя точка зрения такова:

  1. Каковы плюсы и минусы использования этих двухметоды поиска.
  2. Будут ли они работать, если файл зашифрован
  3. Существуют ли какие-либо другие структуры, которые обеспечивают очень безопасный зашифрованный документ, а также выполняют поиск по фактическим данным, пока файл зашифрован (очевидно, сначала расшифровать, а затем выполнить поискна лету)

1 Ответ

0 голосов
/ 10 июля 2019

После стольких дней прохождения поиска Elastic и документации Redis это мое понимание:

Redis и ElaticSearch для зашифрованного содержимого

  • Поиск Redis быстрый по сравнению с Elasticsearch, однако поиск Redis имеет меньшую поддержку сообщества. Инструменты Elasticsearch, такие как kibana, logstash, очень полезны при просмотре и анализе данных.

  • Для зашифрованного контента используйте redisearch с опцией NOINDEX и сохраните ваши первичные данные в зашифрованном хранилище данных. Для моего случая основным хранилищем данных является S3 Bucket. RediSearch нужно только хранить инвертированный индекс.

  • AWS Elasticache предоставляет лямбда-функцию, которая может создавать индексы зашифрованных данных в состоянии покоя. Шифрование выполняется только в том случае, если объект данных находится в состоянии покоя, а НЕ в метаданных. Следовательно, вы можете выполнять поиск по метаданным, но это не будет полный текст. Для полнотекстового поиска передайте данные в Elasticsearch для индексации.

Проверить эту ссылку

Функция поиска в облаке AWS

  • Другой вариант - облачный поиск AWS. CloudSearch имеет возможность индексировать элементы из сегментов с помощью шифрования на стороне сервера. Для доступа к данным вы должны передать соответствующие учетные данные.

проверьте эту ссылку2:

  • AWS cloudsearch стоит дорого. Они будут взимать плату за все выполненные операции.
...