在Lucene.net中使用日期范围

Ron*_*lev 3 lucene lucene.net

我理解Lucene.net如何用于文本索引.我能否根据给定的日期范围有效搜索文档?或者Lucene.net会使用文本匹配来匹配日期吗?

Ste*_*tze 6

Lucene.Net将只使用文本匹配,因此您需要在添加到索引之前正确格式化日期:

    public static string Serialize(DateTime dateTime)
    {
        return dateTime.ToString("yyyyMMddHHmmss", CultureInfo.InvariantCulture);
    }

    public static DateTime Deserialize(string str)
    {
        return DateTime.ParseExact(str, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
    }
Run Code Online (Sandbox Code Playgroud)

例如,您可以执行基于范围的查询以按日期过滤(例如,2006*至2007*以包括2006年和2007年的所有日期).