Выделите зашифрованный документ с помощью Embedded Solr

У меня есть уникальное требование выделить условия поиска в зашифрованном документе solr. Поле, которое нужно выделить, хранится как зашифрованные данные (но индексируется как обычный текст). Чтобы показать результаты поиска пользователю, они расшифровываются на стороне клиента.

Чтобы выделить условия поиска, я планирую использовать встроенный solr для переиндексации результирующего документа на клиенте (с той же схемой и solrconfig) в памяти с помощью RamDirectoryFactory. Типичный размер выделяемых данных составляет несколько сотен килобайт. Очень немногие могут быть в диапазоне MB.

Поскольку встроенный solr также требует создания основного каталога, будет ли вышеуказанное решение работать в многопоточной среде? Хотя индекс находится в памяти, физический каталог core/config, возможно, будет общим из-за многопоточного клиента. Я создаю встроенный сервер solr и возвращаю результаты выделения только в области метода.


person susmit shukla    schedule 28.09.2015    source источник
comment
Собираетесь ли вы создать отдельный экземпляр встроенного solr для каждого результата поиска? По умолчанию только один процесс может записывать в индексный каталог с родным типом блокировки. Итак, как вы собираетесь сделать его многопоточным?   -  person YoungHobbit    schedule 29.09.2015
comment
Да, это правильно. Немного подумав, теперь я создаю уникальный каталог solr home/core для каждого запроса выделения, чтобы ему не требовался код синхронизации. Я удаляю temp solr home после завершения каждого запроса. Мой первоначальный вопрос заключался в том, что если я использую RAMDirectoryFactory, solr полностью сохраняет индекс в памяти и создает ли он индекс в памяти для каждого потока или он используется совместно.   -  person susmit shukla    schedule 29.09.2015


Ответы (1)


Да. Вы можете использовать его. solr.RAMDirectoryFactory основан на памяти, а не на постоянной основе. Весь индекс будет храниться в оперативной памяти. Это соответствует вашим требованиям, поскольку вы не храните индексы и планируете создавать временные настройки для каждого поискового запроса.

person YoungHobbit    schedule 30.09.2015