【发布时间】:2015-04-27 05:40:08
【问题描述】:
我试图在网上搜索解决方案,但老实说,我仍然没有找到任何可以帮助我实现这一目标的方法。
这是我第一次使用 ElasticSearch,而且我对 Node 和 MongoDB 也很陌生。
所以,我按照一种教程,从 NPM 实现了 Mongooastic,让 ElasticSearch 与 Node 一起工作。
即使对总共 12 个用户进行索引,它似乎也能正常工作,如果我在搜索列表视图中输入搜索“用户”,我可以找到 12 条记录,每个记录显示 10 条,第一个有缺失值...
但对我来说主要问题是分页......或者某种......在它上面实现无限滚动也很好,但我真的不知道如何处理它。
所以,目前处理它的控制器如下:
exports.searchUsers = function(req, res) {
User.search({
query_string: {
query: req.query.q
}
},
{ hydrate: true },
function(err, results) {
if (err) res.send(err);
res.render('search-results', {
results: results,
users: results.hits.hits
});
});
};
我真的不知道在哪里放size 和from 在这里......在理解了这一点之后,我也想知道如何实现,如果可能的话,一种无限滚动......还有如何处理分页链接...即:prev, 1, 2, 3, 4, ..., next
视图有一个简单的搜索输入文本,按下提交后打开一个带有hits列表的新页面,所以应该没什么复杂的......
希望你能帮上忙。谢谢
【问题讨论】:
标签: javascript node.js mongodb express elasticsearch