node.js - constant_score查询不支持在代码中查询

标签 node.js elasticsearch

当我尝试运行以下代码时出现“constant score query doesn't support query”错误。

client.search({
    index: ['index1','index2'],
    body: {
        from: 0, size: 20,
        query: {
            "constant_score": {
                boost: 1.0,
                "query": {
                    query_string: {
                        query: str,
                        fields: ['field_1']
                    }
                }
            }
        }
    },
});

最佳答案

constant_score 查询包装另一个查询。它接受另一个 queryfilter 。将 query_string 包装在 filter 而不是 query 中。

尝试使用以下方法:

client.search({
    index: ['index1','index2'],
    body: {
        from: 0, size: 20,
        query: {
            "constant_score": {
                boost: 1.0,
                filter: {
                   query_string: {
                       query: str,
                       fields: ['field_1']
                   }
                }                
            }
        }
    },
});

关于node.js - constant_score查询不支持在代码中查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54710986/

相关文章:

javascript - 使用 NodeJS 接收 JSON

javascript - 不要在点击链接时发送 GET 请求

java - Elasticsearch 中的精确匹配

elasticsearch - Elasticsearch 匹配为N,但返回结果要少得多

node.js - Mocha 的 glob 行为

node.js - 使用 Node js 在 mongodb 中过滤对象子对象

node.js - Google Datastore 组合(联合)多组实体结果以实现 OR 条件

elasticsearch - 将时间戳转换为日期时间以用于 Elasticsearch 聚合

elasticsearch - Elasticsearch-EXISTS语法+过滤器不起作用

elasticsearch - Elasticsearch date_histogram extended_bounds