gpt4 book ai didi

json - 如何设置 “index”:全局 “not_analyzed”进行 Elasticsearch

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

我面临一个问题,即如何全局设置“index”:“not_analyzed”,以便在映射json格式文件中 flex 搜索字符串值,以便在制作报告时不会被标记化。目前,我已经单独进行了检查。但是,当有新属性出现时,就会产生问题。
(使用 flex 搜索版本1.7.2)

例如:-如果我给一个新的字符串字段说地址,则当输入“bangalore india”之类的值时,在进行报告时它将被视为“Bangalore”和“india”两个单独的值。

这是我正在使用的示例json映射器文件格式。让我知道如何将其设置为全局。

{
"user" : {
"_index" : {
"enabled" : true
},
"_id" : {
"index": "not_analyzed",
"store" : "yes"
},
"properties" : {

"id" : {
"type" : "long"
},
"name" : {
"type" : "string",
"index" : "not_analyzed"
},
"presentValue" : {
"type" : "string",
"index" : "not_analyzed"
},
"dateOfBirth" : {
"type" : "date"
}

}
}
}

最佳答案

创建索引时,您需要使用 dynamic_template 。使用下面的动态strings映射,将动态创建的所有新字符串字段均为not_analyzed

PUT my_index
{
"mappings": {
"user": {
"_index": {
"enabled": true
},
"_id": {
"store": "yes"
},
"dynamic_templates": [
{
"strings": {
"match_mapping_type": "string",
"match": "*",
"mapping": {
"type": "string",
"index": "not_analyzed"
}
}
}
],
"properties": {
"id": {
"type": "long"
},
"name": {
"type": "string",
"index": "not_analyzed"
},
"presentValue": {
"type": "string",
"index": "not_analyzed"
},
"dateOfBirth": {
"type": "date"
}
}
}
}
}

关于json - 如何设置 “index”:全局 “not_analyzed”进行 Elasticsearch ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33448431/

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