elasticsearch - 定义查询表达式后,是否可以引用并过滤查询表达式中的脚本字段?

标签 elasticsearch

我是ElasticSearch的新手,我想知道,一旦使用mvel语法定义了脚本字段,您是否可以随后对其进行过滤或像在其他任何字段中一样在查询主体中对其进行引用?

我找不到与此相关的任何示例,而在文档页面上却看不到任何提及的信息

http://www.elasticsearch.org/guide/reference/modules/scripting/
http://www.elasticsearch.org/guide/reference/api/search/script-fields/

ElasticSearch Server一书没有提到这是否可行

最佳答案

由于一个简单的原因,这是不可能的:script_fields是在搜索的最后阶段(获取阶段)计算的,并且仅针对您检索的记录(默认情况下排在前10位)进行计算。脚本过滤器将应用于之前过滤器未过滤掉的所有记录,并且该脚本过滤器会在获取阶段之前的查询阶段进行。换句话说,当应用过滤器时,script_fields还不存在。

关于elasticsearch - 定义查询表达式后,是否可以引用并过滤查询表达式中的脚本字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15650118/

相关文章:

elasticsearch - 如何在 Elasticsearch 中限制和排序来自 _msearch 的响应

elasticsearch - 空值会为Elasticsearch完成建议者字段生成mapper_parsing_exception

elasticsearch - Elasticsearch:安全问题

docker - 如何在Docker Swarm中替换对IP的引用

python-2.7 - Python Api在Elasticsearch中删除doc_type

elasticsearch - Elasticsearch批量删除导致 “Courier Fetch”错误

elasticsearch - NEST编码问题?

elasticsearch - 计算重复发生的频率

elasticsearch - TFS 2017工作项搜索索引问题

Elasticsearch Completion Suggester 不会返回与输入匹配的搜索文档