2016-07-25 23 views
0

Ich brauche eine rangerfilter im Nest 1.7 mit numerischem Wert hinzufügen,Einsatzbereich mit numerischem Wert Nest 1.7

aber die Klasse GreaterThan mit einem String

namespace Nest 
{ 
    public class RangeFilter : PlainFilter, IRangeFilter, IFieldNameFilter, IFilter 
    { 
     public RangeFilter(); 

     public RangeExecution? Execution { get; set; } 
     public PropertyPathMarker Field { get; set; } 
     public string Format { get; set; } 
     public string GreaterThan { get; set; } 
     public string GreaterThanOrEqualTo { get; set; } 
     public string LowerThan { get; set; } 
     public string LowerThanOrEqualTo { get; set; } 
     public string TimeZone { get; set; } 

     protected internal override void WrapInContainer(IFilterContainer container); 
    } 
} 

so meine Abfrage definieren ist

{ 
        "range": { 
         "NbAnnonce": { 
         "gt": "0" 
         } 

und nicht

{ 
       "range": { 
        "NbAnnonce": { 
        "gt": 0.0 
        } 

Wie kann ich dieses Problem bitte lösen?

Antwort

0

Sie könnten versuchen, diese

new NumericRangeQuery 
{ 
    Name = "named_query", 
    Boost = 1.1, 
    Field = "description", 
    GreaterThan = 1.0, 
    GreaterThanOrEqualTo = 1.1, 
    LessThan = 2.1, 
    LessThanOrEqualTo = 2.0 
} 

Json Ausgabe

{ 
    "range": { 
    "description": { 
     "_name": "named_query", 
     "boost": 1.1, 
     "gt": 1.0, 
     "gte": 1.1, 
     "lt": 2.1, 
     "lte": 2.0 
    } 
    } 
}