2017-03-12 87 views
0

過濾器我有一個工作彈性的搜索查詢: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]))" 
       } 
       } 
      } 
      ] 
     } 
     } 
    } 
    } 
} 

是否有可能將它定義爲C#Nest.FilterDescriptor元素? 的主要問題是定義一個QueryStringQuery作爲篩選

+0

您使用的是什麼版本的巢? –

+0

NEST 1.7.1,Elasticsearch.Net 1.7.1 – Avishay

回答

0

這裏是什麼,我成功地開發出實現彈性的搜索查詢字符串過濾器的例子,我添加其他過濾器,所以你可以看到一個真實的例子:

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

}}

相關問題