Арифметическая операция привела к переполнению с Lucene. Сетевые 2.4

Я использую Lucene.net 2.4 для веб-сайта клиента с тяжелым программным использованием запросов: логические запросы, нечеткие запросы, другой вес, префикс и т.д....

Иногда, очень случайным образом, у меня есть следующая ошибка:

Арифметическая операция привела к переполнению в Lucene. Сеть. Util. PriorityQueue. Инициализируйте (Int32 maxSize) в Lucene. Сеть. Поиск. FuzzyQuery. ScoreTermQueue.. ctor (размер Int32) в Lucene. Сеть. Поиск. FuzzyQuery. Перепишите (читатель IndexReader) в Lucene. Сеть. Поиск. BooleanQuery. Перепишите (читатель IndexReader) в Lucene. Сеть. Поиск. BooleanQuery. Перепишите (читатель IndexReader) в Lucene. Сеть. Поиск. BooleanQuery. Перепишите (читатель IndexReader) в Lucene. Сеть. Поиск. BooleanQuery. Перепишите (читатель IndexReader) в Lucene. Сеть. Поиск. BooleanQuery. Перепишите (читатель IndexReader) в Lucene. Сеть. Поиск. IndexSearcher. Перепишите (Запросите исходный) в Lucene. Сеть. Поиск. Запрос. Вес (Искатель искателя) в Lucene. Сеть. Поиск. Искатель. CreateWeight (Запрос запроса) в Lucene. Сеть. Поиск. Искатель. Поиск (Запрос запроса, фильтр Фильтра, Int32 n)

И затем кажется, что Lucene заблокирован, потому что я должен перезапустить веб-сайт, чтобы заставить поиск lucene работать снова.

Веб-сайт не доступен для не пользователь, к сожалению, таким образом, я не могу дать Вам URL.

Но если бы кто-то когда-либо видел эту проблему прежде, я был бы благодарен иметь некоторое руководство для решения ее.

ОБНОВЛЕНИЕ: Я помню, что повторно создал полный индекс в другой папке немного прежде и подкачал его вручную, не перезапуская пул приложений сайта. Это могло прибыть из этого нет?

Аплодисменты Fabrice

1
задан fabrice 22 February 2010 в 13:03
поделиться

1 ответ

Если вы используете BooleanQuery.SetMaxClauseCount (int) убедитесь, что оно как минимум на 1 меньше, чем Int32.MaxValue.

FuzzyQuery.Rewrite () создает PriorityQueue с размером BooleanQuery.GetMaxClauseCount () +1, что вызывает исключение переполнения.

2
ответ дан 3 September 2019 в 01:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: