Elasticsearch - определить строку запроса как фильтр в C#
У меня есть следующий рабочий упругий поисковый запрос:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"IsDeleted": false
}
},
{
"query": {
"query_string": {
"fields": [
"payPlan.PayPlanData.*"
],
"query": "(StartInterval :[1 TO 100] AND (EndInterval :[1 TO 9999999]))"
}
}
}
]
}
}
}
}
}
Можно ли определить это как aC# Nest.FilterDescriptor
элемент? Основная проблема заключается в определении QueryStringQuery
в качестве фильтра
1 ответ
Вот пример того, что мне удалось создать для реализации строки эластичного поискового запроса в качестве фильтра, я добавил другие фильтры, чтобы вы могли увидеть реальный пример:
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"bool": {
"must": [
{
"term": {
"NotSpan": true
}
},
{
"and": {
"filters": [
{
"bool": {
"must": [
{
"fquery": {
"query": {
"query_string": {
"query": "(StartTimeAsNumber :[1 TO 12345] AND (EndTimeAsNumber :[12345 TO 9999999]))",
"default_field": "PayPlan.PayPlanData.*"
}
}
}
}
]
}
}
]
}
}
],
"must_not": [
{
"term": {
"userRole": "admin"
}
}
]
}
}
}
}}