我正在使用以下代码在Elasticsearch中创建索引并加载数据:
数据加载正常,但数据类型不准确。如何强制将word_count设为整数而非文本?它是如何确定数据类型的?是否有自动识别整型数据类型的方法或通过传递某些参数来实现?
另外,如果我想增加ignore_above或移除某些字段的限制以便无限制地存储字符,该怎么办?
我正在使用以下代码来创建索引和加载Elasticsearch中的数据
from elasticsearch import helpers, Elasticsearch
import csv
es = Elasticsearch()
es = Elasticsearch('localhost:9200')
index_name='wordcloud_data'
with open('./csv-data/' + index_name +'.csv') as f:
reader = csv.DictReader(f)
helpers.bulk(es, reader, index=index_name, doc_type='my-type')
print ("done")
我的CSV数据如下:
date,word_data,word_count
2017-06-17,luxury vehicle,11
2017-06-17,signifies acceptance,17
2017-06-17,agency imposed,16
2017-06-17,customer appreciation,11
数据加载正常,但数据类型不准确。如何强制将word_count设为整数而非文本?它是如何确定数据类型的?是否有自动识别整型数据类型的方法或通过传递某些参数来实现?
另外,如果我想增加ignore_above或移除某些字段的限制以便无限制地存储字符,该怎么办?
{
"wordcloud_data" : {
"mappings" : {
"my-type" : {
"properties" : {
"date" : {
"type" : "date"
},
"word_count" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"word_data" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
}
}
}
}
}