我创建了一个elasticsearch索引,我当前的映射将一个项目的美元金额存储为字符串.这被证明是困难的,因为我无法正确搜索/过滤此值.
GET catalog/product/_search
{
"filter": {
"range": {
"price": {
"from": 230.0,
"to": 300.0
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
价格被映射为字符串的位置.我使用了一个字符串,因为从python十进制值开始,我遇到了这个值突然变为17.989999999999999999998789之类的值的问题.这有时只会发生,但我不想进入从python十进制到java double/float的问题(所以我只是str()事情).
有关更好方法的任何想法?我应该咬紧牙关并将价格映射到双倍或浮动?