2016-09-01 2 views
0

Wie kann ich Filter zu meiner Abfrage hinzufügen, um zum Beispiel nur Benutzer zu erhalten, wo role admin?Und Operator mongoosastic (Filter)

Hier ist meine Frage:

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) { 
... 

ich so etwas wie dies nur mit mognoosastic tun müssen: ElasticSearch - multi-match with filter - returns no result

Antwort

1

Versuchen Below Format Abfrage

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

mich, wenn dieses Format wissen lassen Hilfe oder nicht

+0

Wohin? auch ich muss 'multi_match' haben –

+0

Bearbeitete meine Antwort mit multi_match, hoffe, dass es dir hilft !! –

+0

Ich brauche Filter für String-Feld 'Rolle' Wert' Arzt', ist es möglich, das zu filtern? –