搜索结果正在快递途中

elasticsearch将2个field的大小比较结果作为筛选条件

Elasticsearch | 作者 nana | 发布于2017年04月26日 | 阅读数:4819

elasticsearch将2个field的大小比较结果作为筛选条件
已邀请:

nihao

赞同来自:

GET /_search { "query": { "bool" : { "must" : { "script" : { "script" : { "inline": "doc['field1'].value > doc['field2'].value", "lang": "painless" } } } } } }


https://www.elastic.co/guide/e ... .html

kennywu76 - Wood

赞同来自:

最好是在索引阶段就单独索引一个字段,用来存放2个field大小比较的结果,比如字段名称为 field1_lg_field2, 可以存放1/0用于表示那个字段大, 这样在搜索过滤的时候速度比使用script临时计算要快得多。
 
ES搜索的最佳实践是将开销都放在数据索引阶段,搜索阶段尽量用最简单的查询,这是提升查询效率的关键。

要回复问题请先登录注册