我想使用elasticsearch构建视频信息索引。有一个字段" tagIds"这是一个像["足球","篮球"]的阵列 字段属性定义为
.startObject(VideoRecDoc.Field.TAGID.getName()).field("type", "array").field("index", "not_analyzed").endObject()
和IDEA给出例外
MapperParsingException[No handler for type [array] declared on field [tagIds]
我的es版本是2.3.3,我检查了es2.3.3 doc,它支持数组数据类型。
当我将tagIds字段类型从数组转换为字符串时,可以成功创建索引。
我谷歌这个例外,没有发现任何相关内容。
答案 0 :(得分:1)
您不需要在Elasticsearch中将array
配置为自己的数据类型。字符串,整数等每种类型都可以接受单个或多个值。
附注:请尽快更新您的弹性搜索,您的版本已经过时,您应该使用5以获得免费的性能和稳定性提升。