我正在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和少量代码,然后空手而归。
非常感谢您的帮助。 非常感谢