这是我的ES查询:
{
"fields": [
"news.authorname.raw",
"news.authorid"
],
"query": {
"filtered": {
"filter": {
"terms": {
"news.authorid": [
1,
2
]
}
}
}
}
}
通过此查询,我得到了一对{authorid,authorname}的列表。这个列表重复{authorid,authorname}值,我只需要获得相同的列表,但没有重复。这似乎并不困难,或者至少这是我今天早上的想法。我对ES的小知识以及缺乏文档使我无法找到解决这一微不足道问题的方法。
当然,我可以通过代码获取整个列表并删除重复,但如果有可能,我会优先不接收不必要的数据,以便在之后将其删除。
任何人都可以帮忙吗?我应该使用其他方法吗?
提前致谢!!
答案 0 :(得分:0)
我建议使用source filtering:
{
"_source": [ "news.authorname.raw", "news.authorid" ],
"query": {
"filtered": {
"filter": {
"terms": {
"news.authorid": [
1,
2
]
}
}
}
}
}
通常比字段更容易处理,字段有时看起来像笛卡尔产品。