我用@Field注释声明了变量。
@Field(type = FieldType.String, index = FieldIndex.not_analyzed)
private String name;
所以我希望该字段的映射如下所示。
"name": {
"type": "string",
"index": "not_analyzed"
},
但是,在我使用上面的@Field注释对文档类进行索引之后,elasticsearch中没有显示预期的“ not_analyzed”。实际结果如下。
"name": {
"type": "string"
},
我正在使用Elasticsearch版本1.7.0,spring-data-elasticsearch 1.3.4。 这是我将文档编入弹性搜索的方式。
private IndexQuery getIndexQuery(EsModel esModel) {
return new IndexQueryBuilder()
.withObject(esModel)
.build();
}
public void save(Iterable<esModel> esModels) {
List<IndexQuery> indexQueries = new ArrayList<IndexQuery>();
for(EsModel esModel : esModels){
indexQueries.add(this.getIndexQuery(esModel));
}
elasticsearchOperations.bulkIndex(indexQueries);
}
无法在此旧系统中升级elasticsearch版本。这是这个elasticsearch / spring-data-elastic搜索版本中的错误吗?还是我错过了任何重要的配置?