码迷,mamicode.com
首页 > 其他好文 > 详细

docvalue and fielddata

时间:2017-11-13 19:42:34      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:高效   keyword   是什么   dex   搜索   val   cal   col   hat   

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

doc_values

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

fielddata

  1. text fields 不支持doc_values,
  2. text使用fielddata,一种在查询时期生成在缓存里的数据结构
  3. 当字段在首次sort,aggregations,or in a script时创建,读取磁盘上所有segment的的倒排索引,反转 term<->doc 的关系,加载到jvm heap,it remains there for the lifetime of the segment.
  4. 很耗内存,默认禁用fielddata
  5. text 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"
            }
          }
        }
      }
    }
  }
}
‘

docvalue and fielddata

标签:高效   keyword   是什么   dex   搜索   val   cal   col   hat   

原文地址:http://www.cnblogs.com/saihide/p/7827561.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!