es Doc Values 解析
  4Sc2EobNVfno 2023年11月19日 30 0

3.24 Doc Values 解析

DocValues其实是Lucene在构建倒排索引时,会额外建立一个有序的正排索引(基于document => field value的映射列表)

{"birthday":"1985-11-11",age:23}

{"birthday":"1989-11-11",age:29}

document age birthday

doc1 23 1985-11-11

doc2 29 1989-11-11

存储在磁盘上,节省内存

对排序,分组和一些聚合操作能够大大提升性能

注意:默认对不分词的字段是开启的,对分词字段无效(需要把fielddata设置为true)

PUT /lib3 { "settings":{ "number_of_shards" : 3, "number_of_replicas" : 0 }, "mappings":{ "user":{ "properties":{ "name": {"type":"text"}, "address": {"type":"text"}, "age": { "type":"integer", "doc_values":false }, "interests": {"type":"text"}, "birthday": {"type":"date"} } } } }

3.25 基于scroll技术滚动搜索大量数据

如果一次性要查出来比如10万条数据,那么性能会很差,此时一般会采取用scoll滚动查询,一批一批的查,直到所有数据都查询完为止。

1.scoll搜索会在第一次搜索的时候,保存一个当时的视图快照,之后只会基于该旧的视图快照提供数据搜索,如果这个期间数据变更,是不会让用户看到的

2.采用基于_doc(不使用_score)进行排序的方式,性能较高

3.每次发送scroll请求,我们还需要指定一个scoll参数,指定一个时间窗口,每次搜索请求只要在这个时间窗口内能完成就可以了

GET /lib3/user/_search?scroll=1m { "query": { "match_all": {} }, "sort":["_doc"], "size":3 }

GET /_search/scroll { "scroll": "1m", "scroll_id": "DnF1ZXJ5VGhlbkZldGNoAwAAAAAAAAAdFkEwRENOVTdnUUJPWVZUd1p2WE5hV2cAAAAAAAAAHhZBMERDTlU3Z1FCT1lWVHdadlhOYVdnAAAAAAAAAB8WQTBEQ05VN2dRQk9ZVlR3WnZYTmFXZw==" }

3.26 dynamic mapping策略

dynamic:

1.true:遇到陌生字段就 dynamic mapping

2.false:遇到陌生字段就忽略

3.strict:约到陌生字段就报错

PUT /lib8 { "settings":{ "number_of_shards" : 3, "number_of_replicas" : 0 }, "mappings":{ "user":{ "dynamic":strict, "properties":{ "name": {"type":"text"}, "address":{ "type":"object", "dynamic":true }, } } } }

#会报错

PUT /lib8/user/1 { "name":"lisi", "age":20, "address":{ "province":"beijing", "city":"beijing" } }

date_detection:默认会按照一定格式识别date,比如yyyy-MM-dd

可以手动关闭某个type的date_detection

PUT /lib8 { "settings":{ "number_of_shards" : 3, "number_of_replicas" : 0 }, "mappings":{ "user":{ "date_detection": false, } } }

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
4Sc2EobNVfno
作者其他文章 更多