Chciałbym użyć skryptu, aby wykonać następujące czynności:Typ konwersji skryptów elasticsearch
{
"query": {
"match_all": {}
},
"facets": {
"user_facet": {
"terms": {
"field": "user_id",
"script": "term + \"_\" + _source.code"
}
}
}
}
ta jest podobna do odpowiedzi udzielonej w tej kwestii: elastic search double facet
Jedyny problem mam jest Moje pola user_id i code są długimi typami, a nie ciągami. Czy istnieje sposób na ich stworzenie, aby można je było połączyć ze scenariuszem?
Konkretny błąd otrzymuję to:
nested: ClassCastException[java.lang.String cannot be cast to java.lang.Number];
Nie widzę z twojego przykładu, jak długi user_id może kiedykolwiek pasować do terminu, który obliczasz w skrypcie, który jest żądłem, nawet jeśli go przekonwertowałeś. Muszę czegoś przegapić. – Phil
Jedna myśl, by spróbować ... Może użycie "doc ['user_id']" działałoby? – Phil
Możesz również używać Javy w skrypcie mvel. Po prostu zamieniłbym je na Strings używając java;) – javanna