Да. Есть только штрафы за производительность, когда вам нужно несколько приложений на одном компьютере до написать.
Поскольку в вашем случае записывается только одно приложение, вы можете получить хорошую производительность, разрешив этому приложению использовать «эксклюзивный режим», а другие приложения - только для чтения.
Эксклюзивный режим по умолчанию с версии 5.0, поэтому для приложения-писателя/считывателя не требуется никаких изменений конфигурации.
Другие приложения должны быть сконфигурированы так, чтобы не открывать IndexWriter при загрузке, чтобы они могли получить блокировку индексации.
Просто установите это свойство:
hibernate.search.default.exclusive_index_use = false
Одно ограничение: вы не можете использовать практически в режиме реального времени IndexManager, описанный в section 3.2.2, как пишет не будут сброшены на диск на каждой операции записи, так другие приложения не будут видеть последние изменения.
Спасибо! Приблизительно, насколько велика эта задержка? Секунды? Минуты? – krisy
При использовании NRT задержка не контролируется временем, а заполняется буферами. Так что это не очень практично, поэтому я предложил не включать NRT. Даже настройки по умолчанию (не-NRT) дают довольно хорошую производительность. – Sanne