我有一种情况,我希望在执行搜索时过滤结果,而不是使用elasticsearch进行GET过滤。基本上我有一个Document,它有一个状态字段,表明该实体具有丢弃状态。执行GET时,我需要检查该字段的值,从而在状态确实是“丢弃”时将其排除。
我知道我可以使用带有术语查询的搜索来执行此操作,但是当根据文档ID对索引使用GET时呢?
更新:经过进一步调查,似乎唯一的方法是使用渗透或搜索。如果有人有任何建议,我希望我错了。
只是为了澄清我正在使用Java API。
感谢
答案 0 :(得分:1)
尝试这样的事情:
curl http://domain/my_index/_search -d '{
"filter": {
"and": [
{
"ids" : {
"type" : "my_type",
"values" : ["123"]
}
},
{
"term" : {
"discarded" : "false"
}
}
]
}
}
注意:如果某些文档上不存在丢弃的字段,您也可以使用丢失的过滤器。
注2:我认为这不会比正常的获取请求明显慢......