Searchkick - trailing special characters
The word_start analyzer of searchkick use this ES configuration ( source here )
searchkick_word_start_index: { type: "custom", tokenizer: "standard", filter: ["lowercase", "asciifolding", "searchkick_edge_ngram"]}
It uses the standard tokenizer that split strings on hyphens and dots ( there are other rules used by standard tokenizer, but non-relevant to your case ) ( doc here )
You should try with the text_start
match of searchkick that use this configuration
searchkick_text_start_index: { type: "custom", tokenizer: "keyword", filter: ["lowercase", "asciifolding", "searchkick_edge_ngram"]}
The Elastic keyword tokenizer will preserve the "." and "-" and should work for your use case.
NB: A think that the working matching on 66.6
is a fluke since standard analyzer also strips the "."