当前位置:   article > 正文

es的总结_es collapse

es collapse

es的collapse

es的collapse只能针对一个字段聚合(针对大数据量去重),如果以age为聚合字段,则会展示第一条数据,如果需要展示多个字段,需要创建新的字段,如下

  1. POST testleh/_update_by_query
  2. {
  3. "script": {
  4. "source": "ctx._source.new_field = ctx._source.name+','+ctx._source.age "
  5. }
  6. }

该代码以age和那么创建了一个newfiled,如下图

这时就可以重新使用collapse查询

  1. GET /testleh/_search
  2. {
  3. "_source": "name",
  4. "query": {
  5. "match_all": {}
  6. },
  7. "sort": [
  8. {
  9. "age": {
  10. "order": "desc"
  11. }
  12. }
  13. ],
  14. "collapse": {
  15. "field": "new_field.keyword"
  16. },
  17. }

 附上删除索引的代码

  1. POST testleh/_update_by_query
  2. {
  3. "script": {
  4. "source": "if (ctx._source.containsKey('new_field')) { ctx._source.remove('new_field') }"
  5. }
  6. }

term匹配多个查询条件

再者就是对于term匹配多个查询条件,代码如下,主要是should或者must里面一个大括号只能写一个term/match/range

  1. GET /testleh/_search
  2. {
  3. "query": {
  4. "bool": {
  5. "should": [
  6. {
  7. "term": {
  8. "age": {
  9. "value": "18"
  10. }
  11. }
  12. },{
  13. "term": {
  14. "name": {
  15. "value": "李华"
  16. }
  17. }
  18. }
  19. ]
  20. }
  21. }
  22. }

es的scroll可以对于大数据量进行查询,不适合实时查询展示

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/839107
推荐阅读
相关标签
  

闽ICP备14008679号