在Lucene.Net中搜索日期查询

bfnvny8b  于 2022-11-07  发布在  Lucene
关注(0)|答案(1)|浏览(228)

我正在建立一个Lucene索引(使用Lucent .NET Version.LUCENE_30),并且我试图基于日期搜索记录。我创建的索引如下:

if (sampleData.Start_Date != null)
  doc.Add(new Field("Start_Date", DateTools.DateToString(sampleData.Start_Date ?? DateTime.Now, DateTools.Resolution.SECOND), Field.Store.YES, Field.Index.ANALYZED));

然后我有这样一个查询:

LuceneData = LuceneSearch.search_query("(Start_Date : [20220601 TO 20220601])");

此查询未传回任何记录(虽然我知道存在具有此值的记录)。在此范例中,我只想传回Start_Date为2022-06-01的所有记录。我是否对日期进行了错误的索引或建构了错误的查询字串?
谢谢

m1m5dgzv

m1m5dgzv1#

对于可能需要此功能的其他人:当我将对象Map到Document时,我必须将字符串重新转换回日期,如下所示:

Start_Date = DateTools.StringToDate(doc.Get("Start_Date"))

一旦我这样做了,它的工作。

相关问题