gpt4 book ai didi

elasticsearch - Elasticsearch为多个索引中的所有字段设置 `ignore_above`

转载 作者:行者123 更新时间:2023-12-02 23:54:02 24 4
gpt4 key购买 nike

我有一个200+索引的 flex 搜索。文档有时包含长文本字段,这些文本字段无用,并且索引功能过多。

我想为所有索引中的所有字段自动设置 ignore_above 的限制。
我正在尝试使用index templates

我发现了一些示例,该示例说明如何通过名称为特定字段设置它。
如何将其应用于所有(当前和将来)索引和字段?

最佳答案

How can I apply it for all (current and future) indices and fields?



模板中的设置仅适用于新索引。对于现有索引,您需要为各个索引更新 mappings

在不同的Elasticsearch版本之间,对所有索引应用此设置的方式会有所不同。我可以为您展示我尝试过的两个版本,并且知道它可以工作。

ES 2.4
    "mappings": {
"_default_": {
"dynamic_templates": [
{
"string_fields": {
"mapping": {
"ignore_above": 10922,
"index": "not_analyzed",
"type": "string"
},
"match_mapping_type": "string",
"match": "*"
}
}
]
},
"<your object type>": {
<other settings>
}
}

ES 6.1
"mappings": {
"_default_" : {
"dynamic_templates" : [
{
"string_fields" : {
"mapping" : {
"type" : "keyword",
"ignore_above" : 8191,
"index": true
},
"match_mapping_type" : "string",
"match" : "*"
}
}
]
},
"<your object type>": {
<other settings>
}
}
mappings下的 _default_将适用于所有对象类型,并且可以使用 <your object type>下的设置覆盖。

高温超导

关于elasticsearch - Elasticsearch为多个索引中的所有字段设置 `ignore_above`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55243366/

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