2012-11-01 78 views
0

我有两个搜索词“86746184549”和“3302093809”。我正在执行两个单独的术语查询来获取匹配每个ID的一个文档。在elasticsearch中组合单独的查询

"size":1, 
"query":{ 
    "term":{ 
    "from_user_id": "86746184549" 
    } 

} 

"size":1, 
"query":{ 
    "term":{ 
    "from_user_id": "3302093809" 
    } 

} 

是,有一种方式将这些2个查询组合,类似于我们在方面做一些事情。

{ 
    "facets":{ 
     "facet_1":{ 

     }, 
     "facet_2":{ 

     }, 
     "facet_3":{ 

     } 
    } 
} 

我不认为terms query将在这里工作,因为这不会返回一个包含不同from_user_id领域的文件。

我想查询相结合的原因是因为,说如果我有100项这样的条款,然后我将作出100元话费!到elasticsearch服务器。

+1

我认为术语查询正是你所需要的。你为什么认为它不适合你?我不确定我是否明白“distinct from_user_id field”的含义。 – imotov

+0

我试图做'{ “大小”:2, “查询”:{ “条款”:{ “from_user_id”: “86746184549”, “333621309995644”]}}},但是这给了我2个结果含有相同'from_user_id '价值 - >“86746184549”。如何获取包含2个不同'from_user_id'值的2条记录。我不想查询整个数据集,这就是为什么我在请求体中指定了'size'的原因。只想在'from_user_id'字段中获取2个包含“86746184549”和另一个“333621309995644”的记录。 ' – mansk

回答