我有一个索引,其中包含一个表示评级的关键字字段:A,A+,.我想把这些值Map到一个子字段中作为整数,以便对它应用衰减函数。范例:
rating: A
rating.value: 1
我只是想在这里检查一下,根据我的要求,什么是最聪明的方法。据我所知,这可以做到,
- 通过分析仪:How to sort ordinal values in elasticsearch?
- 通过摄入管道:Elasticsearch mapping: How to analyze or map to numeric fields?
感谢您的帮助
1条答案
按热度按时间yvfmudvl1#
谢谢你提出了一个经过充分研究的问题。事实上,在许多情况下,这些都是可行的解决办法。但是,在您的情况下,分析器方法将生成一个文本值,这需要在运行时进行转换。管道将向源添加一个额外的字段,这可能需要也可能不需要(浪费空间,但可能会加速重新索引)。
还有一个选项是将其实现为runtime field。
但我最喜欢的可能是通过Map中的脚本生成它: