在弹性搜索2中,我配置了如下所示的字符串属性
@Field(type = FieldType.String, analyzer = "synonym_analyzer")
private String transformedTitle ;
升级到弹性搜索5和弹簧数据弹性搜索3.0.0.RC2后,我发现FieldType.String不再可用。
我应该使用FiledType.Auto吗?
答案 0 :(得分:1)
从ES 5开始,您应该使用FieldType.text
:
@Field(type = FieldType.text, analyzer = "synonym_analyzer")
private String transformedTitle ;
答案 1 :(得分:1)
db.channels.aggregate( [
{ $match: {"channelName": "ABC"} },
{ $unwind : "$rtData" },
{ $unwind : "$rtData.data" },
{ $group : {
_id: { $hour: "$rtData.ts" },
ucast: { $sum: "$rtData.data" }
}}
])
字段数据类型已替换为全文分析内容的string
字段,以及5.x系列期间未分析的精确字符串值的text
字段
您应该使用keyword
或FieldType.text