栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在elasticsearchJava API中获取某些条件下的文档

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在elasticsearchJava API中获取某些条件下的文档

以这种形式索引文档时,Elasticsearch将无法正确地将这些字符串解析为日期。如果您将这些字符串转换为正确格式的时间戳记,则可以执行建议的查询的唯一方法是以这种格式索引这些文档

{  "start": "2010-09",  "end": "2011-10",  // rest of the document}

然后对它们运行脚本过滤的查询,然后使用Elasticsearch提供的一种脚本语言编译一个脚本,计算这两个日期之间的差值。请记住,脚本过滤和评分总是比简单的索引查找慢得多。

一种更快,更清洁的方法是,将时间段的长短与开始日期和结束日期一起编制索引,就像这样

{  "start": "2010-09",  "end": "2011-10",  "duration": 13  // the rest of the document}

如果以这种形式索引文档,则只需在工期字段中执行过滤查询:

{   "query":{      "filtered":{         "filter":{ "and":[    {       "range":{          "duration":{  "gte":1          }       }    },    {       "range":{          "duration":{  "lte":12          }       }    } ]         }      }   }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/382053.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号