c# - Umbraco Lucene 或搜索多个日期范围

标签 c# lucene umbraco

我们使用以下代码:

var searcher = ExamineManager.Instance
                             .SearchProviderCollection[SearchProviderName];

var criteria = searcher.CreateSearchCriteria();

q = q.And()
     .Range("dateRangeStart", 
       startRange.ToString("yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture), 
       endRange.ToString("yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture), 
        true, true)
          );

criteria = q.Compile();
var searchResult = searcher.Search(criteria).AsEnumerable();

在基于单个日期范围内的单个日期进行搜索时效果很好。然而,我们需要的是使用 2 个日期进行搜索,如果其中一个日期在给定的日期范围内,则返回结果。

最佳答案

大概您可以在相同范围但不同字段上做进一步的 AND:

q = q.And()
 .Range("dateRangeStart", 
   startRange.ToString("yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture), 
   endRange.ToString("yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture), 
   true, true)
 .And().Range("dateRangeEnd", 
   startRange.ToString("yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture), 
   endRange.ToString("yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture), 
   true, true);

这是假设另一个字段称为 dateRangeEnd

关于c# - Umbraco Lucene 或搜索多个日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18819690/

相关文章:

c# - 在 C# 中使用字符串格式的刹车线和粗体文本

c# - 在 TFS 中,如何使用 C# 代码检查文件是否最新?

iphone - 我可以用sqlite运行带有20万条记录的iPad吗?

c# - 如何解决 C# 中数据集内存不足异常错误?

使用整个单词在新的 Sitecore ContentSearch 中进行搜索

c# - 博客的 Umbraco 网址。添加 url 前缀

razor - 如何使用 Razor 在 Umbraco 中获取绝对媒体文件路径?

c# - 将.NET类序列化为PHP

c# - SqlTransaction.Commit() 之前的 SqlCommand.Dispose()?

asp.net - 如何在 umbraco 中添加波斯语或其他语言的 Datatimepicker?