至 Select 个具有相同开始日期和结束日期的文档
To Select documents having same startDate and endDate
我有一些文档,每个文档中都有一个 startDate
和 endDate
日期字段。我需要所有这些值都相同的文件。我找不到任何可以帮助我完成此操作的查询。
Elasticsearch 支持脚本过滤器,您可以在这种情况下使用它。 More Info
您将需要这样的东西 -
POST /<yourIndex>/<yourType>/_search?
{
"query": {
"filtered": {
"filter": {
"script": {
"script": "doc['startDate'].value == doc['endDate'].value"
}
}
}
}
}
这可以通过两种方式实现
- 索引解决方案 - 在索引时添加一个名为 isDateSame 的附加字段,并根据 startDate 和 endDate 的值将其设置为 true 或 false。然后你可以轻松地根据该字段进行查询。这是最佳优化方案
- 脚本解决方案-Elasticdearch 维护字段数据中的所有索引数据,这更像是一个反向反向索引。使用脚本,您可以访问任何索引字段并进行比较。这非常快,但不如第一个 one.You 可以使用以下查询相同
我有一些文档,每个文档中都有一个 startDate
和 endDate
日期字段。我需要所有这些值都相同的文件。我找不到任何可以帮助我完成此操作的查询。
Elasticsearch 支持脚本过滤器,您可以在这种情况下使用它。 More Info 您将需要这样的东西 -
POST /<yourIndex>/<yourType>/_search?
{
"query": {
"filtered": {
"filter": {
"script": {
"script": "doc['startDate'].value == doc['endDate'].value"
}
}
}
}
}
这可以通过两种方式实现
- 索引解决方案 - 在索引时添加一个名为 isDateSame 的附加字段,并根据 startDate 和 endDate 的值将其设置为 true 或 false。然后你可以轻松地根据该字段进行查询。这是最佳优化方案
- 脚本解决方案-Elasticdearch 维护字段数据中的所有索引数据,这更像是一个反向反向索引。使用脚本,您可以访问任何索引字段并进行比较。这非常快,但不如第一个 one.You 可以使用以下查询相同