2017-03-12 4 views
0

Ich habe den nächsten Arbeits elastischen Suchbegriff:Elasticsearch - definiert Query-String als Filter in 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]))" 
       } 
       } 
      } 
      ] 
     } 
     } 
    } 
    } 
} 

Ist es möglich, sie als C# Nest.FilterDescriptor Element zu definieren? Das Hauptproblem ein QueryStringQuery als Filter

+0

, welche Version von NEST verwenden Sie? –

+0

NEST 1.7.1, Elasticsearch.Net 1.7.1 – Avishay

Antwort

0

Hier wird definiert, ist ein Beispiel dafür, was ich eine elastische Suchbegriff Zeichenfolge als ein Filter zu schaffen verwaltet umzusetzen, habe ich andere Filter, so dass Sie ein echtes Beispiel sehen können:

{ 
"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" 
      } 
     } 
     ] 
    } 
    } 
} 

} }

Verwandte Themen