2017-05-16 3 views

Antwort

1

Die Hardcore nicht einen Rabatt haben -optimale unter-performing Art und Weise, es zu tun ist ein script query wie folgt zu verwenden:

POST /_search 
{ 
    "query": { 
     "bool" : { 
      "must" : { 
       "script" : { 
        "script" : { 
         "inline": "doc.price.value < doc.originalPrice.value", 
         "lang": "painless" 
        } 
       } 
      } 
     } 
    } 
} 

ein viel besseren Weg zu indizieren würde, dass Informationen int o das Dokument in einem neuen booleschen Feld, d. h. in Ihrem Fall "discounted": true.

{ 
    "product": "product 1", 
    "price": 100, 
    "originalPrice": 150, 
    "discounted": true 
} 

Dann wird es viel einfacher sein und eine einfache term Abfrage zu machen, die neben viel schneller laufen.

POST /_search 
{ 
    "query": { 
     "bool" : { 
      "must" : { 
       "term" : { 
        "discounted" : true 
       } 
      } 
     } 
    } 
} 
+0

Haben Sie Glück dabei? – Val

Verwandte Themen