可能是一个非常愚蠢的问题,检查elasticsearch中文档的字段是否存在的最佳方法是什么?我在文档中找不到任何内容。
例如,如果该文档没有字段/关键字“ price”,那么我不想返回结果。
{“ updated”:“ 2015/09/17 11:27:27”,“ name”:“ Eye Shadow”,“ format”:“ 1.5 g / 0.05 oz”,}
我可以做什么?
谢谢
您可以将exists过滤器与以下bool/must过滤器结合使用:
exists
bool/must
{ "query": { "filtered": { "filter": { "bool": { "must": [ { "exists": { "field": "price" } }, ... <-- your other constraints, if any ] } } } } }
不推荐使用(自ES5起) 您也可以将missing过滤器与bool/must_not过滤器结合使用:
missing
bool/must_not
{ "query": { "filtered": { "filter": { "bool": { "must_not": [ { "missing": { "field": "price" } } ] } } } } }