我只想获取嵌套字段,但不能,因为它不是叶字段。
GET index/_search
{
"size": 10,
"fields": [
"nested_fields"
]
}
ERROR : "reason": "field [nested_fields] isn't a leaf field"
我在下面尝试过,但是无法匹配嵌套对象中的每个ID和名称。
GET index/_search
{
"size": 10,
"fields": [
"nested_fields.id",
"nested_fields.name"
]
}
结果:
"fields": {
"events.id": [
"13342",
"24232",
"25534",
"63454"
],
"events.name": [
"R1413",
"R1414",
"R1415",
"R1416",
]
}
这是我的预期结果:
fields" : {
"evets" : {
"id" : "234234",
"name" : "RP1524"
},
.... so on
}
如果您没有某个查询应以某种方式匹配嵌套字段,则可以这样进行:
GET /index/_search
{
"size": 10,
"_source": ["nested_fields.id", "nested_fields.name"]
}
如果您还有一个nested
查询,并且想返回 匹配 的 嵌套文档,则 可以这样操作(使用inner_hits
):
{
"query": {
"nested": {
"path": "nested_fields",
"query": {"match_all": {}},
"inner_hits": {}
}
}
}
以下是我的查询的简化版本: 希望有办法解决这个... 提前感谢你的帮助
我能够在弹性搜索 6.8 中使用聚合查询获取数据库中文本字段的所有值: 我正在尝试为嵌套字段做同样的事情。 下面是文本字段(城市)和嵌套字段(冷却)的示例 下面是我一直引用的文档:https://www.elastic.co/guide/en/elasticsearch/reference/6.8/search-aggregations-bucket-terms-aggregation.html
我将Elasticsearch 6与PHP结合使用。 我的文档有一个嵌套字段,如下所示: 基本上每个文档都有很多价格,但我知道每个文档只有一个价格与过滤器/查询匹配。 我用它来搜索和排序,改编自这里的教程:https://www.elastic.co/guide/en/elasticsearch/guide/current/nested-sorting.html(对PHP数组格式表示抱歉): 我得
我看到一些关于嵌套字段和聚合的帖子,但它们似乎都没有回答我的问题。所以,如果这是一个重复的问题,请原谅,如果有任何帮助,我们将不胜感激。 我们建立了一个讲座索引,讲座具有以下特点: 讲座可以是面对面(现场)或预先录制(在线) 每个讲座可以有多个章节 这些章节中的每一个都可以由不同的讲师讲解(例如:量子物理的第一章可以由五个不同的讲师讲解,其中三个可能是现场直播,另外两个可能在线) 在线讲座每个讲师
我试图建立一个方面的导航使用elasticsearch为一个电子商务网站。 商店产品可以有多个变体。我想到的文档结构如下所示: 我将变体定义为嵌套类型。这样,以下查询将返回包含匹配筛选器的变体的所有文档: 现在,我真的希望获得与过滤器匹配的变体的id,以便在类别页面上显示该产品的变体。因此,在本例中,我希望返回第二个变量(1_b)的id。我只获取ResultSet中返回的文档的id。有什么方法可以
我的文档具有如下所示的嵌套字段: 嵌套字段的映射如下所示: 在切换到ElasticSearch2之前,我使用aggs查询了没有结果的文档。以下是查询的聚合部分: 现在我切换到了ElasticSerach2,它只计算所有文档。我已经尝试了不同的方法,比如计算所有文档和计算结果,这样我就可以减去结果,但是 总是0 如何正确筛选/计算嵌套字段?