gpt4 book ai didi

elasticsearch - Elastic Search 动态字段存储为 analyzed 和 not_analyzed

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

我正在尝试在 elasticsearch 中索引 json 文档。我没有文档的架构,它是动态的。

我需要将字段存储为已分析和未分析的字段。我还需要它是动态的。

  1. 我们可以使用动态模板来实现吗?
  2. 还有可能使已分析和未分析的字段名称相同吗?
  3. 在搜索这些字段时我需要做任何特殊处理吗?

最佳答案

您将通过使用动态模板来完成此操作,是的,通过为字段(或字段模式,例如所有字符串)创建动态映射,如下所示:

"dynamic_templates":[
{
"template_myStringFields":{
"match":"somepattern",
"mapping":{
"type":"multi_field",
"fields":{
"{name}":{
"type":"string",
"index":"not_analyzed",
},
"_tokenized":{
"type":"string",
"index":"analyzed",
}
}
}
}
}...

然后,要同时搜索已分析和未分析的内容,如果您不想同时搜索两个字段,则可以使用“模式匹配”,或者如果可以在任何字段中进行匹配,则搜索“_all”字段。字段名称相同,但带有后缀,如上例中的 myField._tokenized。

关于elasticsearch - Elastic Search 动态字段存储为 analyzed 和 not_analyzed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18321261/

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