Kuzzle 在导入 CSV 日期字段时使用映射创建索引
Kuzzle create index with mapping when importing CSV date fields
我有一个 CSV 文件:
fname,lname,age,phone,address,dob
chris,jack,51,656-724-7821,aaaaa,03/01/2016 12:00:01 AM
joe,freds,44,545-724-7821,fsdfds sdfsdfsf sdfsdf,03/01/2015 12:00:01 AM
映射定义为:
const new1Mappings = {
properties: {
fname: {
"type": "text"
},
lname: {
"type": "text"
},
age: {
"type": "integer"
},
phone: {
"type": "text"
},
address: {
"type": "text"
},
dob: {
"type": "text" <----- issue is here
}
}
};
现在使用 Kuzzle API 导入 CSV:
await kuzzle.collection.create('new1', 'contacts', new1Mappings);
await kuzzle.bulk.mWrite('new1', 'contacts', data); // data is an array built from the contents of the CSV file
当我将“dob”字段的映射类型设置为“文本”时,集合文档已创建但无法作为日期字段进行搜索。
如果我将“dob”的映射类型更改为“date”,则不会在集合中创建任何文档。
应将 CSV 日期字段指定为哪种映射数据类型?
你说得对,要能够在 dob
字段上搜索日期,你需要在映射中设置类型 date
。
关于文档的创建,您的数据需要符合Elasticsearch date type field data model。
但是,您可以使用 Elasticsearch Multi date format 调整映射模型。
我传递的日期时间字符串格式不正确。
chris,jack,51,656-724-7821,aaaaa,03/01/2016 12:00:01 AM
为了
dob: {
"type": "text" <----- issue is here
}
所以我将 CSV 更改为
chris,jackson,51,444-555-555,aaaaa,2021-01-01 01:00:00
和映射到
dob: {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
}
现在一切都很好。
我有一个 CSV 文件:
fname,lname,age,phone,address,dob
chris,jack,51,656-724-7821,aaaaa,03/01/2016 12:00:01 AM
joe,freds,44,545-724-7821,fsdfds sdfsdfsf sdfsdf,03/01/2015 12:00:01 AM
映射定义为:
const new1Mappings = {
properties: {
fname: {
"type": "text"
},
lname: {
"type": "text"
},
age: {
"type": "integer"
},
phone: {
"type": "text"
},
address: {
"type": "text"
},
dob: {
"type": "text" <----- issue is here
}
}
};
现在使用 Kuzzle API 导入 CSV:
await kuzzle.collection.create('new1', 'contacts', new1Mappings);
await kuzzle.bulk.mWrite('new1', 'contacts', data); // data is an array built from the contents of the CSV file
当我将“dob”字段的映射类型设置为“文本”时,集合文档已创建但无法作为日期字段进行搜索。 如果我将“dob”的映射类型更改为“date”,则不会在集合中创建任何文档。
应将 CSV 日期字段指定为哪种映射数据类型?
你说得对,要能够在 dob
字段上搜索日期,你需要在映射中设置类型 date
。
关于文档的创建,您的数据需要符合Elasticsearch date type field data model。
但是,您可以使用 Elasticsearch Multi date format 调整映射模型。
我传递的日期时间字符串格式不正确。
chris,jack,51,656-724-7821,aaaaa,03/01/2016 12:00:01 AM
为了
dob: {
"type": "text" <----- issue is here
}
所以我将 CSV 更改为
chris,jackson,51,444-555-555,aaaaa,2021-01-01 01:00:00
和映射到
dob: {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
}
现在一切都很好。