30 миллионов различных фраз, а не документов, в диапазоне от одного слова до предложения из 10 слов, и мне нужно поддерживать поиск по слову / фразе. В основном, что где содержит (фраза, «книга» или «переполнение стека») предлагает.
У меня есть экземпляр SQL Server 2005 (32-разрядный, 4-процессовый, 4 ГБ), работающий с несколькими полнотекстовыми каталогами, и производительность при поиске слов с высокой мощностью очень высока.
Вот мои мысли, чтобы ускорить процесс, возможно, кто-то может предложить руководство -
1) Обновление до 2008 iFTS, 64 бита. Sql Server 2005 FTS служба Windows никогда не превышает 50 МБ. Из того, что я собрал, он использует кеш файловой системы для поиска каталожных индексов. Мои заполненные каталоги на диске составляют всего около 300 Мб, так почему же все это не может быть в памяти? Может ли помочь новая архитектура памяти iFTS, которая является частью процесса sqlserver?
2) Масштабирование каталогов до нескольких серверов. Будут ли запросы к связанным серверам FTS выполняться параллельно?
3) Так как я ищу здесь фразы, а не документы, возможно, полнотекстовый поиск в Sql Server не является ответом. Lucene.NET? Поместить индекс каталога на оперативную память?