c# - 如何通过使用日期作为 Elasticsearch 的字符串比较来获取文档?

标签 c# datetime elasticsearch

我正在调用ElasticSearch来获取文档,然后将其加载到内存中。
我下面有一个使用DateRange的代码,它说给我的文档大于currentDocumentTime

ISearchResponse<DataHolder> docManifests = await queryClient.SearchAsync<DataHolder>(search => search
    .Index("full_processVersion")
    .Type("ProcessVersion")
    .Query(query => query
        .DateRange(dateRangeQuery => dateRangeQuery
            .Field("DocumentCreatedDate")
            .GreaterThan(currentDocumentTime.Value))));
现在,我正在考虑是否有任何方法可以修改上述查询,而不是在GreaterThan上使用currentDocumentTime查询-我可以说给我所有GreaterThanLessThan currentDocumentTime的文档。
基本上,想法是进行字符串比较,这意味着给我文档任何与currentDocumentTime不匹配的日期。
例如,如果currentDocumentTime是10月10日,并且10月9日存在一些文档,那么我也应该能够得到它。
这有可能吗?

最佳答案

您也可以在日期类型字段上使用term。因此,您的elasticsearch查询如下所示:

{
 "query": {
   "bool": {
     "must_not": [
       {
         "term": {
               "DocumentCreatedDate": "Your Requested time"
             }
        }
     ]
   }
 }
}

关于c# - 如何通过使用日期作为 Elasticsearch 的字符串比较来获取文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64301422/

相关文章:

c# - 将托管事件处理程序传递给 Linux 中的非托管代码

java - ElasticSearch - 匹配查询与模糊搜索字母数字

elasticsearch - 如何通过多个字段进行 Elasticsearch 聚合

Elasticsearch 突出显示嵌套对象

c# - 从 byte[] 下载文件 C# MVC

C#:并行处理列表的基本方法?

c# - 发送大量 Protobuf 消息时 NetworkStream 关​​闭

java - 按日期比较 DateTime 对象

mysql - 如何将 "sickness time"汇总到命令末尾 - mysql

javascript从纪元值中获取小时和分钟