docvalue and fielddata

it2024-10-14  16

大部分字段类型默认被索引的(inverted index),可以被搜索search: 哪个文档有这个词sort&aggregations: look up the document and find the terms that it has in a field.这个文档的这个字段的值是什么

doc_values

磁盘上的数据结构,在文档索引的时候建立,数据可以被访问。和_source存的值是一样的,采用column-oriented fashion,更高效的排序和聚合doc_values的默认值是true,如果这个字段不需要排序和聚合,不需要在脚本里访问,可以禁用doc_values来节约磁盘空间,仍然可以被查询可以被分词类型不支持doc_values "session_id": { "type": "keyword", "doc_values": false }

fielddata

text fields 不支持doc_values,text使用fielddata,一种在查询时期生成在缓存里的数据结构当字段在首次sort,aggregations,or in a script时创建,读取磁盘上所有segment的的倒排索引,反转 term<->doc 的关系,加载到jvm heap,it remains there for the lifetime of the segment.很耗内存,默认禁用fielddatatext field 是先分词再索引的,因此,应该使用不分词的keyword用来聚合 curl -XPUT 'localhost:9200/my_index?pretty' -H 'Content-Type: application/json' -d' { "mappings": { "my_type": { "properties": { "my_field": { "type": "text", "fields": { "keyword": { "type": "keyword" } } } } } } } '

转载于:https://www.cnblogs.com/saihide/p/7827561.html

相关资源:数据结构—成绩单生成器
最新回复(0)