По сути, основная задача: индексировать поля DateTime
и TimeSpan
и делать диапазоны и точные поиски по ним позже.Lucene.NET: Рекомендуемый способ индексирования и поиска полей DateTime и TimeSpan
Интернетов повсюду: учебные пособия, ссылающиеся на устаревшие версии Lucene.NET; руководства, рекомендующие хранить даты и время как ints, как longs, как строки; документы, которые рекомендуют использовать NumericRangeQueries
; сообщения в блогах, которые рекомендуют TermRangeQueries
; GitHub комментирует, что говорят, что числовое - это путь, и о, мой.
Для любви все, что память управляется и мусор, давайте компилировать ссылку ультра-всеобъемлющие и супер-уточненный для тех бедняг, которые отправляются на полнотекстовой поиск пути:
- Что
Analyzer
должно быть и должно не использоваться при индексации даты и времени - Как следует дата и время храниться в
Document
и какиеField
типы должны быть использованы - Как сделать диапазон Qu тальные для даты (
DateTime
значения) и раз (TimeSpan
значения)- ... с использованием стандартных
QueryParser
- ... при построении
Query
объектов - вручную ... если писать собственные
QueryParser
- ... с использованием стандартных
- Как сделать точные совпадения Ф.О. г дата (
DateTime
значения) и раз (TimeSpan
значения)- ... с использованием стандартных
QueryParser
- ... при ручном построении
Query
объектов - ... при написании своего собственного
QueryParser
- ... с использованием стандартных