gpt4 book ai didi

Elasticsearch 按所有者、我的与其他人分组方面

转载 作者:行者123 更新时间:2023-12-02 23:04:52 24 4
gpt4 key购买 nike

我正在使用 Elasticsearch 索引具有存储在源对象的 userId 属性中的所有者的文档。我可以轻松地对 userId 进行构面并获取每个所有者的构面,但我希望所有者的构面如下所示:

  • 我拥有的文件 (X)
  • 他人拥有的文件 (Y)

  • 我可以在客户端处理这个问题并获取 Elasticsearch 返回的所有方面并通过它们并找出当前用户拥有的那些而不是并适本地显示它,但我希望有一种方法可以告诉 Elasticsearch 来处理这在查询本身中。

    最佳答案

    您可以使用过滤的方面来执行此操作:

    curl -XGET "http://localhost:9200/_search" -d'
    {
    "query": {
    "match_all": {}
    },
    "facets": {
    "my_docs": {
    "filter": {
    "term": { "user_id": "my_user_id" }
    }
    },
    "others_docs": {
    "filter": {
    "not": {
    "term": { "user_id": "my_user_id" }
    }
    }
    }
    }
    }'

    这样做的好处之一是两个 terms过滤器是相同的,因此只执行一次。 not过滤器只是反转缓存的结果 term筛选。

    关于Elasticsearch 按所有者、我的与其他人分组方面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21494764/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com