如何从ElasticSearch中使用日期作为字符串比较来获取文档?

6l7fqoea  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(1)|浏览(440)

我在打电话 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 -我可以说把所有的文件都给我 GreaterThan 或者
LessThan currentDocumentTime .
基本的想法是做字符串比较,意思是给我任何日期不匹配的文件 currentDocumentTime .
例如,如果 currentDocumentTime 是10月10日,比方说,有一些文件目前为10月9日,所以我应该能够得到,以及。
这有可能吗?

polhcujo

polhcujo1#

你可以用 term 日期类型字段。因此,您的elasticsearch查询如下:

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

相关问题