在Elasticsearch中,"enabled"、"index"和"store"是与字段映射(mapping)和索引设置相关的属性。

  1. "enabled"属性:

    • 该属性用于指定是否启用或禁用特定字段的索引。如果将字段的"enabled"属性设置为false,该字段将不会被索引,即不会被存储到倒排索引中,也无法被搜索。这在某些情况下可能有用,例如对于包含大量不需要搜索的二进制数据的字段。

    示例:

    {
      "mappings": {
        "properties": {
          "my_field": {
            "type": "text",
            "enabled": false
          }
        }
      }
    }
    
  2. "index"属性:

    • 该属性用于控制字段是否被索引,以及如何被索引。可能的取值包括:
      • "true":默认值,字段将被索引。
      • "false":字段不会被索引。
      • "analyzed":字段将被索引,并且会被分析(tokenization)。
      • "not_analyzed":字段将被索引,但不会被分析。
      • "no":字段不会被索引。

    示例:

    {
      "mappings": {
        "properties": {
          "my_field": {
            "type": "text",
            "index": "not_analyzed"
          }
        }
      }
    }
    
  3. "store"属性:

    • 该属性用于指定是否在_source字段中存储原始文档的值。如果将字段的"store"属性设置为true,Elasticsearch将在_source字段中保留原始文档的副本,以便在检索结果时能够获取完整的原始文档。默认情况下,"_source"是启用的,但对于大型文本字段等,可以通过设置"store"为false来禁用存储,以减小索引大小。

    示例:

    {
      "mappings": {
        "properties": {
          "my_field": {
            "type": "text",
            "store": true
          }
        }
      }
    }
    

这些属性允许你更精细地控制字段的索引和存储行为,以满足特定的需求和性能要求。

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.