Это может быть глупый вопрос, но как мне отфильтровать пустую строку в ElasticSearch с помощью Nest. В частности, как воссоздать следующий результат:
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"
}
}
}
}
Любые указатели будут очень признательны.
"filter" : { "term" : { "target" : "" }}
напрямую, используя QueryRaw/FilterRaw - person Duc.Duong   schedule 04.12.2013.Verbatim()
в качестве ответной части к.Strict()
, которая не будет выдавать или удалять запрос, если он безусловный, но оставит его как определено. Я опубликую ответ, когда он появится на github. - person Martijn Laarman   schedule 06.12.2013