給定映射:
{
"mappings": {
"properties": {
"user_ids": {"type": "integer"}
}
}
}
觀察:
- 索引
{"user_ids": 1},資料將正確顯示 - 索引
{"user_ids": "x"},并拋出錯誤failed to parse field [user_ids] of type [integer] in document,表明映射作業正常 - 但是,索引
{"user_ids": [1]}只會清除該欄位,而不會引發錯誤。
問題:
- 為什么會發生這種情況,如何索引整數陣列?
額外的:
- 我洗掉了所有
settings配置,沒有改變任何東西 - 我試過
keyword型別,沒有改變任何東西 - 如果相關,我使用最新的 opensearch-py
uj5u.com熱心網友回復:
不清楚清除欄位是什么意思,整數索引陣列也可以很好地作業,如下例所示,希望您遵循相同的要求。
put <index-name>/_doc/1
{
"user_ids": [
1,2,3
]
}
并獲取 API 回傳,陣列中的所有整數。
GET <index-name>/_doc/1
"_source": {
"user_ids": [
1,
2,
3
]
}
}
uj5u.com熱心網友回復:
原來這是我自己的錯誤:我使用elasticsearch-head來快速檢查值,但它們不支持顯示陣列值:/ 一旦我用查詢進行了雙重檢查,它們就正確了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/467168.html
