2016-09-01 2 views
0

フィルタを追加してクエリを追加すると、たとえば、ユーザーはrole adminとなります。ここでオペレータmongoosastic(フィルタ)

は私のクエリです:

userModel.search({ 
      "multi_match": { 
       "fields": ["firstName", 'lastName', 'specialities', 'profession', 'country', 'state', 'city'], 
       "query": req.query.q, 
       "fuzziness": "AUTO" 
      } 
     }, 
     { 
      from: (pageNum - 1) * perPage, 
      size: perPage 
     }, 
     function (err, results) { 
... 

私はちょうどmognoosasticでこのような何かを実行する必要があります。 ElasticSearch - multi-match with filter - returns no result

答えて

1

この形式なら、私を知ってみましょうクエリフォーマット下

"query": { 
    "bool": { 
     "must": { 
     "multi_match": { 
     "query": "values", 
     "fields": [ 
     "filed_one","field_two" 
     ] 
     } 
     }, 
     "filter": { 
     "range": { 
      "field_name": { 
      "gte": 1467311400, 
      "lte": 1468866599 
      } 
     } 
     } 
    } 
    } 

をお試しくださいヘルプかどうか

+0

どこに置く?私は 'multi_match'を持っている必要があります –

+0

私の答えをmulti_matchで編集しました。 –

+0

文字列フィールド 'role'の値' doctor'にフィルタが必要です。フィルタリングすることは可能ですか? –