Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch elasticsearch中字段的条件查询_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch elasticsearch中字段的条件查询,elasticsearch,elasticsearch" /> elasticsearch elasticsearch中字段的条件查询,elasticsearch,elasticsearch" />

elasticsearch elasticsearch中字段的条件查询

elasticsearch elasticsearch中字段的条件查询,elasticsearch,elasticsearch,我是Elasticsearch的新手,在发布这个问题之前,我在谷歌上搜索了一些帮助,但不知道如何编写我想要编写的查询 我的问题是我要查询的文档很少,这些文档中很少有字段“DueDate”,也很少有字段“PlannedCompletionDate”,但不是都存在于单个文档中。所以我想写一个查询,它应该有条件地从文档中查询一个字段并返回所有文档 例如,下面我正在证明每种类型的示例文档,并且我的查询应该返回来自这两个文档的结果,我需要编写一个查询,该查询应该检查字段是否存在并返回文档 “_来源”:{

我是Elasticsearch的新手,在发布这个问题之前,我在谷歌上搜索了一些帮助,但不知道如何编写我想要编写的查询

我的问题是我要查询的文档很少,这些文档中很少有字段“DueDate”,也很少有字段“PlannedCompletionDate”,但不是都存在于单个文档中。所以我想写一个查询,它应该有条件地从文档中查询一个字段并返回所有文档

例如,下面我正在证明每种类型的示例文档,并且我的查询应该返回来自这两个文档的结果,我需要编写一个查询,该查询应该检查字段是否存在并返回文档

“_来源”:{ ... “计划完工日期”:“2019-06-30T00:00:00.000Z”, ... }

“_来源”:{ ... “到期日”:“2019-07-26T07:00:00.000Z”, ... }

您可以结合使用来实现您的用例

添加带有索引映射、数据、搜索查询和搜索结果的工作示例

索引映射:

{
  "mappings": {
    "properties": {
      "plannedCompleteDate": {
        "type": "date",
        "format": "yyyy-MM-dd"
      },
      "dueDate": {
        "type": "date",
        "format": "yyyy-MM-dd"
      }
    }
  }
}
{
  "plannedCompleteDate": "2019-05-30"
}
{
  "plannedCompleteDate": "2020-06-30"
}
{
  "dueDate": "2020-05-30"
}
{
  "query": {
    "bool": {
      "should": [
        {
          "range": {
            "plannedCompleteDate": {
              "gte": "2020-01-01",
              "lte": "2020-12-31"
            }
          }
        },
        {
          "range": {
            "dueDate": {
              "gte": "2020-01-01",
              "lte": "2020-12-31"
            }
          }
        }
      ]
    }
  }
}
"hits": [
      {
        "_index": "65808850",
        "_type": "_doc",
        "_id": "1",
        "_score": 1.0,
        "_source": {
          "plannedCompleteDate": "2020-06-30"
        }
      },
      {
        "_index": "65808850",
        "_type": "_doc",
        "_id": "2",
        "_score": 1.0,
        "_source": {
          "dueDate": "2020-05-30"
        }
      }
    ]
索引数据:

{
  "mappings": {
    "properties": {
      "plannedCompleteDate": {
        "type": "date",
        "format": "yyyy-MM-dd"
      },
      "dueDate": {
        "type": "date",
        "format": "yyyy-MM-dd"
      }
    }
  }
}
{
  "plannedCompleteDate": "2019-05-30"
}
{
  "plannedCompleteDate": "2020-06-30"
}
{
  "dueDate": "2020-05-30"
}
{
  "query": {
    "bool": {
      "should": [
        {
          "range": {
            "plannedCompleteDate": {
              "gte": "2020-01-01",
              "lte": "2020-12-31"
            }
          }
        },
        {
          "range": {
            "dueDate": {
              "gte": "2020-01-01",
              "lte": "2020-12-31"
            }
          }
        }
      ]
    }
  }
}
"hits": [
      {
        "_index": "65808850",
        "_type": "_doc",
        "_id": "1",
        "_score": 1.0,
        "_source": {
          "plannedCompleteDate": "2020-06-30"
        }
      },
      {
        "_index": "65808850",
        "_type": "_doc",
        "_id": "2",
        "_score": 1.0,
        "_source": {
          "dueDate": "2020-05-30"
        }
      }
    ]
搜索查询:

{
  "mappings": {
    "properties": {
      "plannedCompleteDate": {
        "type": "date",
        "format": "yyyy-MM-dd"
      },
      "dueDate": {
        "type": "date",
        "format": "yyyy-MM-dd"
      }
    }
  }
}
{
  "plannedCompleteDate": "2019-05-30"
}
{
  "plannedCompleteDate": "2020-06-30"
}
{
  "dueDate": "2020-05-30"
}
{
  "query": {
    "bool": {
      "should": [
        {
          "range": {
            "plannedCompleteDate": {
              "gte": "2020-01-01",
              "lte": "2020-12-31"
            }
          }
        },
        {
          "range": {
            "dueDate": {
              "gte": "2020-01-01",
              "lte": "2020-12-31"
            }
          }
        }
      ]
    }
  }
}
"hits": [
      {
        "_index": "65808850",
        "_type": "_doc",
        "_id": "1",
        "_score": 1.0,
        "_source": {
          "plannedCompleteDate": "2020-06-30"
        }
      },
      {
        "_index": "65808850",
        "_type": "_doc",
        "_id": "2",
        "_score": 1.0,
        "_source": {
          "dueDate": "2020-05-30"
        }
      }
    ]
搜索结果:

{
  "mappings": {
    "properties": {
      "plannedCompleteDate": {
        "type": "date",
        "format": "yyyy-MM-dd"
      },
      "dueDate": {
        "type": "date",
        "format": "yyyy-MM-dd"
      }
    }
  }
}
{
  "plannedCompleteDate": "2019-05-30"
}
{
  "plannedCompleteDate": "2020-06-30"
}
{
  "dueDate": "2020-05-30"
}
{
  "query": {
    "bool": {
      "should": [
        {
          "range": {
            "plannedCompleteDate": {
              "gte": "2020-01-01",
              "lte": "2020-12-31"
            }
          }
        },
        {
          "range": {
            "dueDate": {
              "gte": "2020-01-01",
              "lte": "2020-12-31"
            }
          }
        }
      ]
    }
  }
}
"hits": [
      {
        "_index": "65808850",
        "_type": "_doc",
        "_id": "1",
        "_score": 1.0,
        "_source": {
          "plannedCompleteDate": "2020-06-30"
        }
      },
      {
        "_index": "65808850",
        "_type": "_doc",
        "_id": "2",
        "_score": 1.0,
        "_source": {
          "dueDate": "2020-05-30"
        }
      }
    ]

忘了提及,在所有文档中,我感兴趣的是获取所有包含字段dueDate或plannedCOmpletionDate的文档。这些文档中没有一个同时包含dueDate和plannedCOmpletionDate字段。因此,您想获取那些既包含
plannedCompleteDate
字段又包含
dueDate
字段但不同时包含这两个字段的文档吗?是的,并且这些文档中没有一个同时包含这两个字段。因此,我的查询应该类似于“如果文档中包含dueDate或plannedCompletionDate,则从文档中选择日期,并且日期应介于“2020-01-01”和“2020-12-31”之间”。索引中是否有包含这两个字段的文档?不,我想,可以肯定,我如何检查是否有此类文件?@Sunil Yerra请仔细查看答案,并让我知道这是否是问题所在?感谢您的快速帮助,我将尝试此方法,并让您了解我的经验。当然@Sunil Yerra,期待您的反馈:)谢谢您的帮助,效果很好。我现在能够增强该查询以获得更有用的结果。谢谢兄弟。我的范围应该小于现在,在示例中我给出了一些日期供参考。。。。下面是为我工作的查询{“bool”:{“should”:[{“range”:{“dueDate”:{“lt”:“now”}},{“range”:{“plannedpletedate”:{“lt”:“now” } } } ] } }