假设我有一个MongoDB查询
db.tm_watch.count({trademark: {$in: [ObjectId('1'), ObjectId('2')]}});它返回商标等于1或2的文档计数。我尝试过这个查询,将其转换为elasticsearch 1。
es_query = {
"query": {
"bool": {
"must": [
{"terms": {"trademark": ids}},
{"term": {"team": req.user.team.id}},
],
}
}
}
esClient.count({
index: 'tm_watch',
type: 'docs',
body: es_query
}但我不知道这是正确的,因为我是新的Elasticsearch。谢谢!
发布于 2021-02-15 21:42:51
与mongodb的.count方法等效的ES是Count API。
假设索引名称为tm_watch,并且字段trademark具有.keyword multi-field映射,则可以使用terms query
POST tm_watch/_count
{
"query": {
"terms": {
"trademark.keyword": [ "1", "2" ]
}
}
}https://stackoverflow.com/questions/66208408
复制相似问题