我知道solr支持查询中的条件(例如fl=if(min(2,myField),2,myField)).我无法在elasticsearch中找到类似的功能.我能找到的最接近的是脚本字段.
min(max(myField,0),1)?sort=min(max(myField,0),1)?脚本是您正在寻找的.默认的脚本语言是mvel,但您可以轻松安装支持其他语言的插件,如javascript,groovy,python.您也可以用Java编写自己的本机脚本.
您可以在不同的apis中使用脚本,以下是一些示例:
可以从文档页面预加载将它们放在文件系统上的脚本:
脚本始终可以作为相关API的一部分提供,但也可以通过将它们放在
config/scripts脚本名称之前预先加载它们,然后通过脚本名称引用它们(而不是提供完整的脚本).这有助于减少客户端和节点之间传递的数据量.脚本的名称源自它所在目录的层次结构,以及没有lang扩展名的文件名.例如,放置在下面的脚本
config/scripts/group1/group2/test.py将被命名group1_group2_test.
只有用java编写的本机脚本才能实现接口.如果是mvel,javascript python或groovy,你可以在文件中编写你需要的脚本,而不是将它与相关的API一起传递,并使用它的名称来引用它.
| 归档时间: |
|
| 查看次数: |
3350 次 |
| 最近记录: |