Хм, похоже, что вы ничего не можете изменить на уровне фабрики сеансов с помощью обычного nhibernate.search. Вам могут потребоваться отдельные экземпляры конфигурации, или, возможно, попробовать что-то вроде Свободный поиск NHibernate , чтобы облегчить боль.
Соединяя его из вики проекта, вы можете сделать что-то вроде этого, чтобы раскрутить отдельные фабрики сессий, указывающие на разные каталоги баз данных / индексов:
Fluently.Configure()
.Database(SQLiteConfiguration.Standard.InMemory())
.Search(s => s.DefaultAnalyzer().Standard()
.DirectoryProvider().FSDirectory()
.IndexBase("~/Index")
.IndexingStrategy().Event()
.MappingClass<LibrarySearchMapping>())
.BuildConfiguration()
.BuildSessionFactory();
Свойство IndexBase и соединение - это части, которые вам нужно определить для каждого клиента. Как только вы настроите фабрики сессий, вы сможете разрешить их, используя любую стратегию, которую вы используете в настоящее время.
Надеюсь, это поможет