gpt4 book ai didi

elasticsearch - 关键字字段应该是数组还是单个字符串?

转载 作者:行者123 更新时间:2023-12-02 22:37:59 27 4
gpt4 key购买 nike

我是 ElasticSearch 新手,所以这是一个非常基本的问题。

如果我将一个字段映射为索引中的关键字,文档是否应该包含该字段的字符串数组?还是所有关键字都用空格分隔的字符串?

如果我的索引看起来像这样(关键字是我们感兴趣的):

{
"esidx_j_cv" : {
"mappings" : {
"j_cv" : {
"properties" : {
"Id" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"Keyword" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"Name" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
}
}
}
}
}

文件应该是这样的:
{
"_index" : "esidx_j_cv",
"_type" : "j_cv",
"_id" : "2fab7349-c13f-447a-95fa-984df6836c14",
"_score" : 1.0,
"_source" : {
"Id" : "2fab7349-c13f-447a-95fa-984df6836c14",
"Name" : "Jim Bloggs",
"Keyword" : [
"San",
"Andreas",
"Fault",
"California"
]
}
}

或者像这样:
  {
"_index" : "esidx_j_cv",
"_type" : "j_cv",
"_id" : "2fab7349-c13f-447a-95fa-984df6836c14",
"_score" : 1.0,
"_source" : {
"Id" : "2fab7349-c13f-447a-95fa-984df6836c14",
"Name" : "Jim Bloggs",
"Keyword" : "San Andreas Fault California"
}
}

谢谢,

亚当。

最佳答案

使用数组将是最惯用的,也是我的建议。您可以这样查询(此查询实际上适用于任一选项):

GET index/_search
{
"query": {
"match": {
"Keyword": "California"
}
}
}

关于elasticsearch - 关键字字段应该是数组还是单个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43920902/

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