Package org.elasticsearch.script

Support for running user provided scripts (in the request, in cluster state, etc) in portions of various requests (FunctionScoreQueryAggregationUpdateAction, etc).
Interface Summary
Interface Description
ExecutableScript
An executable script, can't be used concurrently.
ExplainableSearchScript
To be implemented by SearchScript which can provided an Explanation of the score This is currently not used inside elasticsearch but it is used, see for example here: https://github.com/elastic/elasticsearch/issues/8561
LeafSearchScript
A per-segment SearchScript.
NativeScriptFactory Deprecated

Create a ScriptEngineService instead of using native scripts
ScriptContext
Context of an operation that uses scripts as part of its execution.
ScriptEngineService  
SearchScript
A search script.
Class Summary
Class Description
AbstractDoubleSearchScript
A simpler base class instead of AbstractSearchScript for computations that return a double number.
AbstractExecutableScript
AbstractLongSearchScript
A simpler base class instead of AbstractSearchScript for computations that return a long number.
AbstractSearchScript
A base class for any script type that is used during the search process (custom score, aggs, and so on).
ClassPermission
Checked by scripting engines to allow loading a java class.
CompiledScript
CompiledScript holds all the parameters necessary to execute a previously compiled script.
NativeScriptEngineService
A native script engine service.
ScoreAccessor
A float encapsulation that dynamically accesses the score of a document.
Script
Script represents used-defined input that can be used to compile and execute a script from the ScriptService based on the ScriptType.
ScriptContext.Plugin
Custom operation exposed via plugin, which makes use of scripts as part of its execution
ScriptContextRegistry
Registry for operations that use scripts as part of their execution.
ScriptEngineRegistry
ScriptMetaData
ScriptMetaData is used to store user-defined scripts as part of the ClusterState.
ScriptMetaData.Builder
A builder used to modify the currently stored scripts data held within the ClusterState.
ScriptMetrics
ScriptModes
Holds the boolean indicating the enabled mode for each of the different scripting languages available, each script source and each scripted operation.
ScriptModule
Manages building ScriptService and ScriptSettings from a list of plugins.
ScriptService
ScriptSettings
ScriptStats
StoredScriptSource
StoredScriptSource represents user-defined parameters for a script saved in the ClusterState.
Enum Summary
Enum Description
ScriptContext.Standard
Standard operations that make use of scripts as part of their execution.
ScriptType
ScriptType represents the way a script is stored and retrieved from the ScriptService.

            

ScriptEnginService compile?..... 不推荐。

XXXPlugin extends Plugin implements ScriptPlugin

  实现方法: List<NativeScriptFactory> getNativeScripts()

实现XXXScriptFactory implements NativeScriptFactory  

                NativeScriptFactory  创建ExcutableScript实例 ( ExecutableScript newScript() )

    主要实现ExecutableScript newScript()

实现 XXXScript extends AbstractDoubleSearchScript

            ExecutableScript( run())

    实现 runAsDouble()方法

ExecutableScript是接口。

AbsractSearchScritp 实现了ExecutableScript接口。

AbsractSearchScritp 有个lookup!

NativeScriptEngineService

  search()会调用 script.setLookup()

依赖

ScriptService 的search(SearchLookup lookup)

依赖

parseSource(DefaultSearchContext context

SearchScript searchScript = scriptService.search(context.lookup()

依赖 createAndPutContext

依赖executeDfsPhase

elasticSearch script api的更多相关文章

  1. ElasticSearch Document API

    删除索引库 可以看到id为1的索引库不见了 这里要修改下配置文件 slave1,slave2也做同样的操作,在这里就不多赘述了. 这个时候记得要重启elasticseach才能生效,怎么重启这里就不多 ...

  2. 第08章 ElasticSearch Java API

    本章内容 使用客户端对象(client object)连接到本地或远程ElasticSearch集群. 逐条或批量索引文档. 更新文档内容. 使用各种ElasticSearch支持的查询方式. 处理E ...

  3. Elasticsearch 常用API

    1.   Elasticsearch 常用API 1.1.数据输入与输出 1.1.1.Elasticsearch 文档   #在 Elasticsearch 中,术语 文档 有着特定的含义.它是指最顶 ...

  4. elasticsearch REST api

    elasticsearch REST api========================================命令模式:<REST Verb> /<Index>/ ...

  5. elasticsearch REST API方式批量插入数据

    elasticsearch REST API方式批量插入数据 1:ES的服务地址  http://127.0.0.1:9600/_bulk 2:请求的数据体,注意数据的最后一行记得加换行 { &quo ...

  6. [搜索]ElasticSearch Java Api(一) -添加数据创建索引

    转载:http://blog.csdn.net/napoay/article/details/51707023 ElasticSearch JAVA API官网文档:https://www.elast ...

  7. Elasticsearch java api 基本搜索部分详解

    文档是结合几个博客整理出来的,内容大部分为转载内容.在使用过程中,对一些疑问点进行了整理与解析. Elasticsearch java api 基本搜索部分详解 ElasticSearch 常用的查询 ...

  8. Elasticsearch java api 常用查询方法QueryBuilder构造举例

    转载:http://m.blog.csdn.net/u012546526/article/details/74184769 Elasticsearch java api 常用查询方法QueryBuil ...

  9. ElasticSearch的API介绍

    ElasticSearch的API介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.ES是基于Restful风格 1>ES是基于Restful风格 Elasticsea ...

随机推荐

  1. java rmi浅谈

    首先比较下RPC和RMI的差别: 首先java提供了RMI的api,jdk1.5之后虚拟机自动生成两个类:存根类stub和骨架类skelton. stub是给客户端的,当客户端调用远程对象的一个方法时 ...

  2. poj1789 Truck History最小生成树

    Truck History Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 20768   Accepted: 8045 De ...

  3. 【python】Python3中出现'gbk' codec can't encode characte的成功解决方法?

    亲身测试,所遇问题完全解决!2018/07/08 21:37 环境:windows,Pycharm,python3.6.2 使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情 ...

  4. Maven中如何将源码之外的文件打包及添加本地jar

    <build> <resources> <resource> <directory>src/main/resources</directory&g ...

  5. springMVC笔记二

    第十四章 springmvc快速入门(注解版本) 1)springmvc快速入门(传统版) 步一:创建springmvc-day02这么一个web应用 步二:导入springioc,springweb ...

  6. P2574 XOR的艺术

    题目描述 AKN觉得第一题太水了,不屑于写第一题,所以他又玩起了新的游戏.在游戏中,他发现,这个游戏的伤害计算有一个规律,规律如下 1. 拥有一个伤害串为长度为n的01串. 2. 给定一个范围[l,r ...

  7. 2017 Multi-University Training Contest - Team 3 RXD and dividing(树)

    题解: 其实贪心地算就可以了 一个最优的分配就是每条边权贡献的值为min(k, sz[x]),sz[x]是指子树的大小 然后最后加起来就是答案. #include <iostream> # ...

  8. 【BZOJ 3376】[Usaco2004 Open]Cube Stacking 方块游戏 带权并查集

    这道题一开始以为是平衡树结果发现复杂度过不去,然后发现我们一直合并而且只是记录到最低的距离,那么就是带权并查集了,带权并查集的权一般是到根的距离,因为不算根要好打,不过还有一些其他的,具体的具体打. ...

  9. Clevo P950系列拆机

    Clevo P950系列(包括神舟精盾T96/T97/T96C/T96E/T97E,炫龙耀9000,铁头人T800同模具机型)拆机 拆机恢复时间:20181203 12:28-14:58   一.普通 ...

  10. Math.abs为Integer.Min_VALUE返回错误的值

      Math.abs为Integer.Min_VALUE返回错误的值 这段代码: System.out.println(Math.abs(Integer.MIN_VALUE)); 回报-2147483 ...