2016-09-07 1 views
0

Ich habe eine Abfrage, die funktioniert. Wie auch immer ich eine Bedingung hinzufügen muss. Ich möchte eine Dokumente, die auch das Feld "markiert" haben: "true"Hinzufügen einer Bedingung zur Abfrage

Dies ist meine Abfrage.

{ 
    "from": 0, 
    "size": 100, 
    "min_score": 0.6, 
    "query": { 
     "bool": { 
      "should": [ 
       { "multi_match" : { 
        "fields" : ["_all"], 
        "query" : " Test " , 
        "fuzziness" : "1.5" , 
        "prefix_length" : "2" 
       } 
      } 
      ], 
      "must": { "bool": { "must": [ 
       { "terms": { "language.id":["1"] }}, 
       { "term": { "forbidden":"false" }} 
     ] 
     }}} 
    }, "sort": [{ "_score": { "order": "desc"}} ] 
} 

Ich habe versucht, eine should-Klausel nach beiden müssen Klauseln hinzufügen. Wo kann ich diese Bedingung stellen?

Antwort

0

versuchen diese

{ 
    "query": { 
    "bool": { 
     "should": [ 
     { 
      "multi_match": { 
      "fields": [ 
       "_all" 
      ], 
      "query": " Test ", 
      "fuzziness": "1.5", 
      "prefix_length": "2" 
      } 
     } 
     ], 
     "must": [ 
     { 
      "terms": { 
      "language.id": [ 
       "1" 
      ] 
      } 
     }, 
     { 
      "term": { 
      "forbidden": "false" 
      } 
     }, 
     { 
      "term": { 
      "marked": "true" 
      } 
     } 
     ] 
    } 
    } 
} 
+0

Das bin ich das einzige Dokument bringt, die "markiert" hat: "true". Ich bin mir ziemlich sicher, dass dies in einem "sollte" sein sollte. Wie auch immer ich es versuche Es gibt Fehler oder nur das eine Dokument. – dontberude

+0

Sie haben es in der von Ihnen geposteten Suchanfrage nicht erhalten? Da es keine Bedingung für markiert gab, müssen Sie sowohl wahr als auch falsch erhalten. Ich habe deine Frage nicht verstanden – blackmamba

Verwandte Themen