2016-11-29 73 views
0

我有一個NodeJS應用程序使用mongoosastic api for Elasticsearch。現在我需要一種將條件(isDeleted == false)添加到指定查詢(查詢:req.query.q)的方法。如何給彈性搜索查詢提供一些條件

這是我的代碼

exports.search = function (req, res) { 
    if (!req.query.q) return res.status(400).send('No Query Provided') 
    log.error(req.query.q) 
    User.search({query_string: {query: req.query.q}}, (err, results) => { 
    if (err) return handleError(res, err) 
    var ret = _.map(results.hits.hits, result => ({ 
     userID: result._id, 
     _score: result._score, 
     name: result._source.name, 
     loc: result._source.loc, 
     info: result._source.info, 
     images: result._source.images 
    })) 
    return res.send(ret) 
    }) 
} 

我怎麼能這樣做?

回答

0

您可以使用過濾來過濾數據。檢查您的插件網站的example。下面的例子也是你的答案。

var geoQuery = {query_string: {query: req.query.q}}; 

var myFilter = { 
    term: { 
    isDeleted: true 
    } 
}; 

User.search(geoQuery, {filter: myFilter}, function(err, res) { /* ... */ }) 
+0

對不起,但它沒有幫助 –

+0

它爲什麼沒有幫助? – hkulekci

+0

我是這麼說的,但是當搜索已刪除的用戶時,它會查找並顯示 –