gpt4 book ai didi

elasticsearch - 将自定义对象的每个属性类型设置为 not_analyzed

转载 作者:行者123 更新时间:2023-11-29 02:54:25 25 4
gpt4 key购买 nike

我有一个自定义对象,我希望将其作为索引中自己的类型存储在 ElasticSearch 中,但我不希望分析该对象中的任何字段。我应该怎么做?

我一直在使用 ElasticSearch NEST 客户端,但如果需要也可以手动创建映射。

最佳答案

您有几个选项都可以。就个人而言,我会选择前两个中的任何一个。如果它是每日索引,那么第二个是更好的选择。

  • 预先定义映射并禁用动态字段。这是迄今为止最安全的方法,它可以帮助您避免错误,并且可以防止事后添加字段。

    {
    "mappings": {
    "_default_": {
    "_all": {
    "enabled": false
    }
    },
    "mytype" : {
    "dynamic" : "strict",
    "properties" : {
    ...
    }
    }
    }
    }
  • Create an index template 禁用动态字段,但允许您连续滚动具有相同映射的新索引。

    您可以创建分层索引模板,以便多个索引适用于任何给定的索引。

    {
    "template": "mytimedindex-*",
    "settings": {
    "number_of_shards": 2
    },
    "mappings": {
    "_default_": {
    "_all": {
    "enabled": false
    }
    },
    "mytype" : {
    "dynamic" : "strict",
    "properties" : {
    ...
    }
    }
    }
    }
  • Create a dynamic mapping允许新字段,但默认所有 stringnot_analyzed:

    "dynamic_templates" : [ {
    "strings" : {
    "mapping" : {
    "index" : "not_analyzed",
    "type" : "string"
    },
    "match" : "*",
    "match_mapping_type" : "string"
    }
    } ]

    这将允许您向映射动态添加字段。

关于elasticsearch - 将自定义对象的每个属性类型设置为 not_analyzed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27575999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com