ES里设置索引中倒排列表仅仅存文档ID——采用docs存储后可以降低pos文件和cfs文件大小

index_options

The index_options parameter controls what information is added to the inverted index, for search and highlighting purposes. It accepts the following settings:

docs

Only the doc number is indexed. Can answer the question Does this term exist in this field?

freqs

Doc number and term frequencies are indexed. Term frequencies are used to score repeated terms higher than single terms.

positions

Doc number, term frequencies, and term positions (or order) are indexed. Positions can be used for proximity or phrase queries.

offsets

Doc number, term frequencies, positions, and start and end character offsets (which map the term back to the original string) are indexed. Offsets are used by the postings highlighter.

Analyzed string fields use positions as the default, and all other fields use docs as the default.

PUT my_index
{
  "mappings": {
    "my_type": {
      "properties": {
        "text": {
          "type": "text",
          "index_options": "offsets"
        }
      }
    }
  }
}

PUT my_index/my_type/1
{
  "text": "Quick brown fox"
}

GET my_index/_search
{
  "query": {
    "match": {
      "text": "brown fox"
    }
  },
  "highlight": {
    "fields": {
      "text": {} 
    }
  }
}

The text field will use the postings highlighter by default because offsets are indexed.

 

转自:https://www.elastic.co/guide/en/elasticsearch/reference/current/index-options.html

 

注意:ES2.41里没有text这个type

curl -XPUT 'http://localhost:9200/hec_test2' -d '
{
  "mappings": {
    "hec_type2": {
      "properties": {
        "filed-0": {
          "type": "string",
          "index_options": "docs"
        },
        "filed-1": {
          "type": "string",
          "index_options": "docs"
        }
      }
    }
  }
}
'

比较测试:

可以比默认的节省10+%的存储空间!

 

 

 

posted @ 2017-02-14 14:39  bonelee  阅读(631)  评论(2编辑  收藏  举报