当前位置: 首页 > 面试题库 >

如果在Elasticsearch查询中使用script_fields,则不再有_source

费辰阳
2023-03-14
问题内容

我正在运行一个简单的查询,如下所示:

{
  "query": {
    "term": {
      "statuses": "active"
    }
  },
  "script_fields": {
    "test": {
      "script": "_source.name"
    }
  }
}

问题在于,一旦引入script_fields,我将不再获得_source结果。

我努力了:

{
  "fields": [
    "_all"
  ],
  "query": {
    "term": {
      "statuses": "active"
    }
  },
  "script_fields": {
    "email": {
      "script": "_source.name"
    }
  }
}

{
  "fields": [
    "*"
  ],
  "query": {
    "term": {
      "statuses": "active"
    }
  },
  "script_fields": {
    "email": {
      "script": "_source.name"
    }
  }
}

但是它们没有任何区别。_source除了之外,还有其他方法可以退货script_fields吗?


问题答案:

fields数组中,使其加载_source

{
  "stored_fields": [
    "_source"
  ],
  "query": {
    "term": {
      "statuses": "active"
    }
  },
  "script_fields": {
    "email": {
      "script": "_source.name"
    }
  }
}


 类似资料:
  • 问题内容: 我有此搜索查询,用于在根标题和描述中找到查询搜索词“ red dog”,并且还匹配嵌套的注释文档。 对我来说不幸的是,当我将注释保留到ElasticSearch时,注释有时为空,是否可以执行某种“如果文档存在则包含”条件? 更新资料 我仍然遇到相同的错误 当我尝试使用存在查询时 我对所有事物的映射 而我的设置 问题答案: 事实证明,我有一个很棒的索引,没有针对我的类型的映射。我删除了插

  • 我有一个实体叫做Test。java有70个字段,其中一些字段还与其他实体相关(通过连接一对多、多对一等关联)。 我需要有一个这种类型的对象,但我不需要所有的字段,只有3个字段,其中一个字段与其他实体有外键关系。 因此,我在执行查询的同时编写了一个本机查询。jpa执行其他查询也会导致花费太多时间来完成。 这是我的实体类: 这是我的原生查询 我怎样才能得到具有选定字段的订单实体对象,我不需要其他字段意

  • 问题内容: 我正在尝试使用 Java 和 Elasticsearch 进行Elasticsearch搜索。elasticsearch为Java提供了API,这很酷。 问题是,我希望在Java中创建一个方法,该方法接收一个字符串(应该是一个包含用于搜索的信息的JSON),该字符串反映此对Elasticsearch的HTTP调用 但是我希望这种方法尽可能通用。 所以问题是: 是否可以使用Java AP

  • 问题内容: 我有一个包含多个文档的mongo集合,假设以下内容(假设出于任何原因,汤姆在2012年都有两名历史老师) 我希望能够查询“汤姆”曾经有过的所有不同的班级,即使汤姆有多个“历史”班级且有多个老师,我只想查询得到最少数量的文档,以便汤姆在所有这些都将显示一次,而“历史记录”只显示一次,而不是查询结果包含重复“历史记录”的多个文档。 我看了一下:http : //mongoengine- o

  • 问题内容: 我目前正在使用Elasticsearch V2.3.1。我想在Java中使用以下Elasticsearch查询。 上面的查询搜索名为“ kimchy”的“用户”,并使用给定值更新“列表”字段。该查询同时更新多个文档。我在https://www.elastic.co/guide/en/elasticsearch/client/java- api/2.3/java-docs- update

  • 这是我索引中的文档(也可以有几个): 从逻辑上讲,我试图建立这个条件: 我的问题(来自kibana): 我正在与上述范围内的字段的范围查询与上面的其他字段进行比较。但没有得到任何命中!我想检索具有在给定和日期。 在这个领域很缺乏经验,不知道为什么不起作用!请帮助如何修复此查询以做到这一点?