Монгосастический запрос для запроса по индексированным данным и фильтрации по дате - PullRequest
1 голос
/ 25 апреля 2019

У меня есть бумага, проиндексированная в моем индексе эластичности, и мне нужно выполнить запрос с несколькими совпадениями.Запрос должен быть сделан для массива имен, а также для массива идентификаторов.Мой запрос извлекает результат, но только по одному из критериев.

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 голосов
/ 08 мая 2019
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) {
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...