在Elasticsearch JS中使用复合查询面临困难

时间:2019-05-31 12:07:16

标签: node.js elasticsearch npm

我正在node.js应用程序中使用npm的官方Elasticsearch软件包。我试图使用复合查询(bool)执行搜索,但是我发现复合搜索无法按预期进行。

为调试该问题,我尝试为搜索查询传递不同的数据集。我发现了一个异常,其中Elasticsearch库无法按预期运行,但Elasticsearch API可以正常运行。我也找不到其他地方记录的这种行为。

我在执行了2组代码(具有相同的查询) 1)使用官方弹性搜索库的节点 2)使用Postman通过Elasticsearch API

I>使用Elastic Search JS

    "index": "bank",
    "type": "account",
    "body": {
        "query": {
            "bool": {
                "must": [{
                    "match": {
                        "address": "avenue"
                    }
                }]
            }
        }
    }
}

II>使用Elastic Search API

    "query": {
            "bool": {
                "must": [{
                    "match": {
                        "address": "avenue"
                    }
                }]
            }
        }
}

官方库的结果为空(Empty数组),但是使用elasticsearch API的结果将得出正确的数据集。

另一个奇特的观察结果是使用弹性搜索JS的以下查询,该查询适用于单个元素,但不适用于元素数组

    "index": "bank",
    "type": "account",
    "body": {
        "query": {
            "bool": {
                "must": {
                    "match": {
                        "address": "avenue"
                    }
                }
            }
        }
    }
}

我正在弄错我要去哪里,我尝试遍历文档,stackoverflow和少量代码,然后空手而归。

非常感谢您的帮助。 非常感谢

0 个答案:

没有答案