更新时间:2020-08-21 18:13
OpenSearch支持多种数据类型及分词方式,可以满足绝大多数场景下的需求。目前接触到的不满足的有:
OpenSearch目前支持查询、过滤、统计、聚合、排序等功能。
q 转化规则 |
---|
‘:‘ 暂不支持 |
range索引,用filter的区间段来转化 |
+A ==> A |
-A ==> 不支持 |
A AND B ==> A AND B |
A AND -B ==> A ANDNOT B |
A OR B ==> A OR B |
A OR +B ==> A RANK B |
A AND B OR C ==> A AND B RANK C, e.g:红富士 AND 苹果 OR 山东 |
A OR B AND C ==> B AND C RANK A, e.g:红富士 OR 苹果 AND 山东 |
A AND B OR +C ==> A AND B AND C, e.g:红富士 AND 苹果 OR +山东 |
A OR +B AND C ==> B AND C RANK A, e.g:红富士 OR +苹果 AND 山东 |
+A OR B AND C ==> A AND B AND C, e.g:+红富士 OR 苹果 AND 山东 |
A AND B OR -C ==> (A AND B) ANDNOT C, e.g:红富士 AND 苹果 OR -山东 |
A AND -B OR C ==> A ANDNOT B RANK C, e.g:苹果 AND -红富士 OR 山东 |
-A AND B OR C ==> B ANDNOT A RANK C, e.g:-红富士 AND 苹果 OR 山东 |
A OR B AND -C ==> B ANDNOT C RANK A, e.g:红富士 OR 苹果 AND -山东 |
A OR -B AND C ==> C ANDNOT B RANK A, e.g:红富士 OR -山东 AND 苹果 |
-A OR B AND C ==> (B AND C) ANDNOT A, e.g:-红富士 OR 山东 AND 苹果 |
A OR B OR -C == A OR -C OR B == -C OR A OR B ==> (A OR B) ANDNOT C |
A AND B OR C AND D ==> A AND B AND C AND D |
统计转化规则 |
---|
facet.field => OpenSearch aggregate子句中的group_key参数 |
facet.limit => OpenSearch aggregate子句中的max_group,默认为1000 |
facet.mincount => 暂不支持,需要全部结果拿回去自行处理 |
facet.offset => 暂不支持,需要全部结果拿回去自行翻页 |
facet.sort => 暂不支持,需要全部结果拿回去自行排序 |
facet=true&facet.field=price&facet.limit=200 ==> aggregate=group_key:price,agg_fun:count(),max_group:200 |
在文档使用中是否遇到以下问题
更多建议
匿名提交