sortieren Ich möchte elasticsearch als Suchmaschine verwenden. Ich kopiert Datensätze aus MySQL Elasticsearch und wenn ich Elasticsearch Abfrage ich möchte einen Wert mit den Daten in elastischer berechnen und es verwenden, um die ErgebnisseWie kann ich nach einem berechneten Wert in elasticsearch
Mein Index zu sortieren wie folgt aussieht:
{
"busquedas" : {
"aliases" : { },
"mappings" : {
"coche" : {
"properties" : {
"coeff_e" : {
"type" : "double"
},
"coeff_r" : {
"type" : "double"
},
"desc" : {
"type" : "string"
}
}
}
},
"settings" : {
"index" : {
"creation_date" : "1460116924258",
"number_of_shards" : "5",
"number_of_replicas" : "1",
"uuid" : "N6jhy_ilQmSb6og16suZ4g",
"version" : {
"created" : "2030199"
}
}
},
"warmers" : { }
}
}
und ich möchte einen Wert pro Datensatz berechnen wie
myCustomOrder = (coeff_e + coeff_r) * timestamp
und es verwenden, Ergebnisse zu sortieren
{
"sort" : [
{ "myCustomOrder" : {"order" : "asc"}},
"_score"
],
"query" : {
"term" : { ... }
}
}
ich weiß, ich groovy kann Werte zu berechnen, aber ich konnte es nur wie sein in den Beispielen gezeigt zu filtern verwenden
{
"from": 10,
"size": 3,
"filter": {
"script": {
"script": "doc['coeff_e'].value < 0.5"
}
}
}
Vielen Dank im Voraus, ich total Neuling bin Elasticsearch: D
check this out >> http://stackoverflow.com/questions/36019873/elastic-search-aggregation-with-range-query – Arun