Mongosastic查询以查询索引数据并按日期过滤

时间:2019-04-25 08:02:28

标签: node.js elasticsearch

我的弹性索引中已包含Paper索引,并且需要对其执行多重匹配查询。查询将在名称数组和id数组上进行。我的查询只获取其中一个条件来获取结果。

Paperupload.esSearch({ 
    from:from,
    size:size,
            query:{
                bool:{
                    "must": {
                        "bool" : { "must": [{terms : {"topics.topic_name": topi}}] } 
                    },
                    "must": {
                        "bool" : { "must": [{terms : {"userId._id": followersDetail}}] }
                    },
                    "must_not": {
                        "bool" : { "should": [{terms : {"_id": userPapersId}}] }
                    } 
                }
            },
            sort:{
                "createdAt":{
                    "order" : "desc"
                }
            }   
},
function(err, results) {
}

Paperupload是我的索引弹性索引。我正在3个字段上执行搜索,并按createdAt日期对其进行排序。我的结果集仅包含基于第一个条件的结果。我用过NPM mongosastic。

结果应为所有3个条件的混合,但按createdAt日期排序。

1 个答案:

答案 0 :(得分:0)

Paperupload.esSearch({ 
                    query:{
                            bool:{
                                "must": {
                                    "bool" : { "should": [{terms : {"userId._id": followersDetail}},{terms : {"topics.topic_name": topi}}] }
                                }
                            }
                        },          
                        sort:{
                            "createdAt":{
                                "order" : "desc"
                            }
                        }   
                    },
                    {
                        from:from,
                        size:size,
                    },
                    function(err, results) {
})