ElasticSearch-查询文档:所有给定标签在嵌套文档中至少出现一次

丹尼斯

考虑一些包含具有一个属性的嵌套文档(技能)的索引文档(员工,比方说“标签”,以便每个员工都具有一些技能。我想从ElasticSearch索引中获取所有雇员(文档),他们掌握一组给定的技能,例如“ Python ”和“ Java ”。

我正在努力寻找一个合适的查询,以确保所有给定技能(“ Python”,“ Java”)员工的技能集中至少出现一次,尽管它们不必同时出现!

我的映射与此相似:

{
  "mappings": {
    "employee": {
      "_all": { "enabled": false },
      "properties": {
        "id" : { "type": "integer" },
        "first_name" : { "type": "string" },
        "last_name" : { "type": "string" },

        "skills": {
          "type": "nested",
          "properties": {
            "label": { "type": "string" },
            "rating": { "type": "integer" }
          }
        }

      }
    }
  }
} 

因此,我正在寻找有关如何检索所需结果的任何解决方案(查询)。

您需要查询中结合使用两个 nested过滤器bool/filter,如下所示:

POST /employees/employee/_search
{
  "query": {
    "bool": {
      "filter": [
        {
          "nested": {
            "path": "skills",
            "query": {
              "term": {
                "skills.label": "python"
              }
            }
          }
        },
        {
          "nested": {
            "path": "skills",
            "query": {
              "term": {
                "skills.label": "java"
              }
            }
          }
        }
      ]
    }
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查询elasticsearch返回所有文档

来自分类Dev

在ElasticSearch搜索查询中获取文档的所有字段

来自分类Dev

遍历Elasticsearch索引中的所有文档

来自分类Dev

遍历Elasticsearch索引中的所有文档

来自分类Dev

在Elasticsearch中查询子文档

来自分类Dev

在 Elasticsearch 的每个文档中计算嵌套对象不超过一次

来自分类Dev

使用Elasticsearch的嵌套文档和布尔查询

来自分类Dev

ElasticSearch中的随机文档

来自分类Dev

删除elasticsearch中的文档

来自分类Dev

显示组中至少出现一次值的所有行

来自分类Dev

检查所有字母是否在字符串中至少出现一次

来自分类Dev

ElasticSearch:通过在ElasticSearch中简单地给出查询,是否有任何选项可以搜索文档中的所有文件

来自分类Dev

ElasticSearch:更新数组中的嵌套文档

来自分类Dev

ElasticSearch:更新数组中的嵌套文档

来自分类Dev

在elasticsearch中更新多级嵌套文档

来自分类Dev

在Elasticsearch中汇总嵌套文档

来自分类Dev

转储所有Elasticsearch文档

来自分类Dev

使用elasticsearchTemplate从ElasticSearch获取所有文档

来自分类Dev

ElasticSearch - 如何获取文档的所有字段?

来自分类Dev

Elasticsearch中的嵌套查询

来自分类Dev

从Java中的Elasticsearch查询返回一定数量的文档

来自分类Dev

在Elasticsearch 1.5中是否可以通过查询更新所有文档?

来自分类Dev

ElasticSearch和NEST:如何从索引中清除所有文档?

来自分类Dev

Elasticsearch从所有文档中获取字段的值

来自分类Dev

如何从Elasticsearch中的过滤器获取所有文档?

来自分类Dev

Elasticsearch匹配给定数组中的所有标签

来自分类Dev

ElasticSearch在文档和动态嵌套文档中搜索

来自分类Dev

计算elasticsearch中具有唯一*值*的文档的数量

来自分类Dev

从Elasticsearch文档中删除字段

Related 相关文章

  1. 1

    查询elasticsearch返回所有文档

  2. 2

    在ElasticSearch搜索查询中获取文档的所有字段

  3. 3

    遍历Elasticsearch索引中的所有文档

  4. 4

    遍历Elasticsearch索引中的所有文档

  5. 5

    在Elasticsearch中查询子文档

  6. 6

    在 Elasticsearch 的每个文档中计算嵌套对象不超过一次

  7. 7

    使用Elasticsearch的嵌套文档和布尔查询

  8. 8

    ElasticSearch中的随机文档

  9. 9

    删除elasticsearch中的文档

  10. 10

    显示组中至少出现一次值的所有行

  11. 11

    检查所有字母是否在字符串中至少出现一次

  12. 12

    ElasticSearch:通过在ElasticSearch中简单地给出查询,是否有任何选项可以搜索文档中的所有文件

  13. 13

    ElasticSearch:更新数组中的嵌套文档

  14. 14

    ElasticSearch:更新数组中的嵌套文档

  15. 15

    在elasticsearch中更新多级嵌套文档

  16. 16

    在Elasticsearch中汇总嵌套文档

  17. 17

    转储所有Elasticsearch文档

  18. 18

    使用elasticsearchTemplate从ElasticSearch获取所有文档

  19. 19

    ElasticSearch - 如何获取文档的所有字段?

  20. 20

    Elasticsearch中的嵌套查询

  21. 21

    从Java中的Elasticsearch查询返回一定数量的文档

  22. 22

    在Elasticsearch 1.5中是否可以通过查询更新所有文档?

  23. 23

    ElasticSearch和NEST:如何从索引中清除所有文档?

  24. 24

    Elasticsearch从所有文档中获取字段的值

  25. 25

    如何从Elasticsearch中的过滤器获取所有文档?

  26. 26

    Elasticsearch匹配给定数组中的所有标签

  27. 27

    ElasticSearch在文档和动态嵌套文档中搜索

  28. 28

    计算elasticsearch中具有唯一*值*的文档的数量

  29. 29

    从Elasticsearch文档中删除字段

热门标签

归档