Attualmente sto cercando di costruire questa query punteggio funzione con le API Java di elasticsearch:elasticsearch API Java Funzione Score query con la funzione di geo e il tempo gauss
{
"query": {
"function_score": {
"functions": [
{
"gauss": {
"location": {
"origin": {
"lat": 52.55,
"lon": 13.69
},
"offset": "30km",
"scale": "10km",
"decay": 0.9
}
}
},
{
"gauss": {
"createdAt": {
"origin": "2015-06-14T15:50:00",
"scale": "8h",
"offset": "4h",
"decay": 0.75
}
}
}
]
}
}
}
Ma non riesco a trovare alcuna documentazione in merito alla Java API e query sulla funzione. Questo è quello che ho finora:
elasticsearch.client
.prepareSearch(config.offerIndex.value)
.setQuery(
QueryBuilders.functionScoreQuery(
ScoreFunctionBuilders
.gaussDecayFunction("location", ???, ???).setDecay(0.9)
)
)
Il secondo e il terzo parametro del gaussDecayFunction sono chiamati origine e la scala. Ma hanno qualsiasi tipo e non ho idea di come devo fornire i miei valori di posizione e ora lì. E la prossima domanda è come posso fornire alle funzioni nel Builder di FunctionScore