Срив с Lucene.NET при използване на сортиране

Имам поле за дата, вмъкнато в база данни Lucene със следния код:

Document.Add(new NumericField("TimeStamp", Field.Store.YES, true).SetLongValue(Data.TimeStamp.ToBinary()));

И имам следното запитване:

        var Sort = new Sort(new SortField("TimeStamp", SortField.LONG, true));
        var ParsedQuery = ParseQuery(_Parser, SearchQuery);
        var Filter = new QueryWrapperFilter(ParsedQuery);
        var Hits = _Searcher.Search(ParsedQuery, Filter, Skip + Limit, Sort);

Но се срива при изпълнение на метода за търсене със следното:

A first chance exception of type 'Lucene.Net.QueryParsers.QueryParser.LookaheadSuccess' occurred in Lucene.Net.dll
A first chance exception of type 'System.IO.IOException' occurred in Lucene.Net.dll
A first chance exception of type 'System.IO.IOException' occurred in Lucene.Net.dll
A first chance exception of type 'System.AccessViolationException' occurred in HDIndexing.dll
Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

Ако заменя променливата Sort с една от константите, като Sort.RELEVANCE, тогава търсенето работи правилно.
Проблемът идва от персонализираното ми търсене.

Между другото забелязах нещо друго странно и не знам дали това е връзка: Ако проверя моята Lucene DB с инструмента Luke, всички мои полета се съобщават като низове:

https://i.stack.imgur.com/SnlSD.png

Не знам дали това е грешка в Luke или нещо не е наред с настройката на Lucene от моя страна. Опитах се да променя сортирането на тип "низ", за да видя какво ще се случи, но се срива по същия начин, така че и в двата случая типът на полето не изглежда да оказва влияние.

Някой имал ли е този проблем преди?

Може да е подобно на публикация на някой друг: lucene.net сортиране не работи нарушение на достъпа


person Thomas    schedule 27.06.2015    source източник
comment
Наистина е странно: реших да компилирам Lucene.Net от източника и той незабавно се срива, когато правя извикването за търсене. Затова реших да погледна по-отблизо: imgur.com/MFmAwzC. Указателят към обекта (R10) сочи към невалиден адрес. Но ако изпълня същия код с различен параметър за сортиране (един от изброяванията), адресът е правилен. Дебъгерът показва правилния обект...   -  person Thomas    schedule 28.06.2015
comment
Става все по-странно: var Hits = _Searcher.Search(ParsedQuery, null, Skip + Limit, Sort.RELEVANCE); var SortSetting = Sort.RELEVANCE; var Hits0 = _Searcher.Search(ParsedQuery, null, Skip + Limit, SortSetting); Първият работи, вторият се срива... Може ли да е грешка в компилатора?   -  person Thomas    schedule 28.06.2015
comment
Трябваше да направя видео за това! imgur.com/NGyFRdS   -  person Thomas    schedule 28.06.2015
comment
Това е изключение при първа възможност, което означава, че може да има опит/улов, който да го обработи и това не е проблем. Деактивирайте улавянето на изключения при първа възможност и вижте какво наистина излиза от кода ви.   -  person sisve    schedule 28.06.2015
comment
Поставям цялата информация в записа на JIRA ( Поставям цялата информация в записа на JIRA (issues.apache.org/jira/browse/LUCENENET-554) По-лесно е, отколкото да обсъждате един и същ проблем на две места :)   -  person Thomas    schedule 28.06.2015