@Field(索引= FieldIndex.analyzed,类型= FieldType.String)
如何在此处添加注释以禁用所分析字段的规范
答案 0 :(得分:0)
由于无法在Java实体中将规范enable-false属性添加为@field批注的一部分,因此我们可以在mappings.json文件中添加所有映射(所有必需的类型,并将属性作为映射),然后在实体中引用此文件文件。如下图
@Document(indexName = "jobindex")
@Setting(settingPath = "/config/elasticsearch-settings.json")
@Mapping(mappingPath = "/config/mappings.json") //THIS ONE TO ADD
public class JobIndex implements Serializable {
}
和mappings.json看起来像
"mappings": {
"_doc": {
"properties": {
"title": {
"type": "text",
"norms": { "enabled": false }
}
}
}
}
注意:当您将特定属性添加为mappings.json的一部分时,而Java @Field批注中不提供这些属性,则最好将json文件的所有字段批注添加到json文件中,而不是在java @ Field批注中。因此,结论是java实体应该没有字段注释,所有映射都应该在mappings.json文件中,并且该文件应该在实体标头中引用,如该答案的第一个代码块中所述。