这可能是一个愚蠢的问题,但是如何使用 Nest 过滤 ElasticSearch 中的空字符串。具体来说,如何重新创建以下结果:
curl http://localhost:9200/test/event/_search
{
"filter" : { "term" : { "target" : "" }}
}
我试过了:
(f => f
.Term("target", "")
);
根据ElasticSearch 和 Nest 过滤不起作用,它被视为无条件查询并返回所有内容,同时添加 .Strict() 会引发 DslException:
(f => f
.Strict().Term("target", "")
);
我也试过 .Missing() 和 .Exists() 无济于事。
我的_mapping的相关部分供参考:
{
"event": {
"dynamic": "false",
"properties": {
target": {
"type": "string",
"index": "not_analyzed",
"store": true,
"omit_norms": true,
"index_options": "docs"
}
}
}
}
任何指针将不胜感激。