私はElasticSearch初心者ですので、これはかなり基本的な質問です。キーワードフィールドを配列または単一の文字列にする必要がありますか?
ドキュメントにそのフィールドの文字列の配列が含まれている場合は、フィールドをインデックスのキーワードとしてマップしますか?または、すべてのキーワードがスペースで区切られた1つの文字列ですか?
私のインデックスは、この(キーワードは我々が興味を持っているものです)のように見える場合:
{
"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"
}
}
ありがとう、
アダム。
文書のいずれかを検索することができます。 :) – Richa
ここで 'keyword'は単にフィールド名を意味するか、' keyword'型の値をそこに格納しますか? – avr