2

我想使用elasticsearch来构建视频信息索引。有一个字段“tagIds”,它是一个类似 ["football", "basket ball"] 的数组,字段属性定义为

                                    .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 文档,它支持数组数据类型。

当我将 tagIds 字段类型从数组转换为字符串时,可以成功创建索引。

我用谷歌搜索了这个异常,没有发现任何相关信息。

4

1 回答 1

4

您不需要array在 Elasticsearch 中配置为自己的数据类型。字符串、整数等每种类型都可以只接受一个或多个值。

旁注:请尽快更新您的 elasticsearch,您的版本已经过时了,您应该使用 5 以获得免费的性能和稳定性提升。

于 2017-08-07T12:32:00.547 回答