首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用elastic search 7比较两个字段

使用elastic search 7比较两个字段
EN

Stack Overflow用户
提问于 2021-06-01 18:25:16
回答 1查看 19关注 0票数 0

我对Elastic search不是很了解。我们可以比较两种类型的价格,同时从弹性服务器获取记录。下面是示例

代码语言:javascript
复制
"hits": [
        {
            "_index": "magento2_default_catalog_product_20210531_051304",
            "_type": "_doc",
            "_id": "57",
            "_score": 1.0,
            "_source": {
                "entity_id": "57",
                "visibility": "4",
                "price": [
                    {
                        "price": 1.0,
                        "original_price": 1.0,
                        "is_discount": false,
                        "customer_group_id": 0,
                        "tax_class_id": 2,
                        "final_price": 0.0,
                        "min_price": 1.0,
                        "max_price": 1.0
                    },
                    {
                        "price": 1.0,
                        "original_price": 1.0,
                        "is_discount": false,
                        "customer_group_id": 1,
                        "tax_class_id": 2,
                        "final_price": 0.0,
                        "min_price": 1.0,
                        "max_price": 1.0
                    },
                    {
                        "price": 1.0,
                        "original_price": 1.0,
                        "is_discount": false,
                        "customer_group_id": 2,
                        "tax_class_id": 2,
                        "final_price": 0.0,
                        "min_price": 1.0,
                        "max_price": 1.0
                    },
                    {
                        "price": 1.0,
                        "original_price": 1.0,
                        "is_discount": false,
                        "customer_group_id": 3,
                        "tax_class_id": 2,
                        "final_price": 0.0,
                        "min_price": 1.0,
                        "max_price": 1.0
                    }
                ]
                "stock": {
                    "is_in_stock": true,
                    "qty": 0
                }
            }
        },
        {
            "_index": "magento2_default_catalog_product_20210531_051304",
            "_type": "_doc",
            "_id": "91",
            "_score": 1.0,
            "_source": {
                "entity_id": "91",
                "visibility": "4",
                "price": [
                    {
                        "price": 1.0,
                        "original_price": 1.0,
                        "is_discount": false,
                        "customer_group_id": 0,
                        "tax_class_id": 2,
                        "final_price": 0.0,
                        "min_price": 1.0,
                        "max_price": 1.0
                    },
                    {
                        "price": 1.0,
                        "original_price": 1.0,
                        "is_discount": false,
                        "customer_group_id": 1,
                        "tax_class_id": 2,
                        "final_price": 0.0,
                        "min_price": 1.0,
                        "max_price": 1.0
                    },
                    {
                        "price": 1.0,
                        "original_price": 1.0,
                        "is_discount": false,
                        "customer_group_id": 2,
                        "tax_class_id": 2,
                        "final_price": 0.0,
                        "min_price": 1.0,
                        "max_price": 1.0
                    },
                    {
                        "price": 1.0,
                        "original_price": 1.0,
                        "is_discount": false,
                        "customer_group_id": 3,
                        "tax_class_id": 2,
                        "final_price": 0.0,
                        "min_price": 1.0,
                        "max_price": 1.0
                    }
                ],
                "stock": {
                    "is_in_stock": true,
                    "qty": 0
                }
            }
        },
      ]

我有吨的记录,现在我需要那些记录,其中有final_price小于价格。因为价格是一个数组类型,所以我有客户组id和税类id,所以我需要将它与各自的索引进行比较。假设我的客户组id为0,税类id为2,因此它应该从价格的第一个索引或匹配索引比较价格和最终价格。

如果有人能帮上忙,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-06-01 18:55:16

为了能够查询数组内部对象,您应该将您的价格映射为嵌套类型,对象数组不会像您预期的那样工作,因为您不能独立于数组中的其他对象查询每个对象。如果需要这样做,那么应该使用嵌套数据类型,而不是object数据类型。您可以找到解决方案here。此外,您还可以查看ES官方文档,了解数组和嵌套对象here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67787112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档