我正在处理提到的一项维护任务,该任务将拦截 ES 索引操作,并且在某些情况下会更改字段的内容。
我的问题是:如何操作文档?有一个 index.docs() 方法。例如,我获取第一个(也是唯一一个)文档,添加一个字段,然后希望它被持久化,但不幸的是,该字段不会被设置/或删除。
例子:
indexingService.addListener(new IndexingOperationListener() {
@Override
public Index preIndex(Engine.Index index) {
List<Document> docs = index.docs();
List<Document> finalDocs = new ArrayList<Document>();
for (Document d : docs) {
d.removeField("field1");
finalDocs.add(d);
}
index.docs().clear();
index.docs().addAll(finalDocs);
return index;
}
});
我做错什么了吗?删除的字段不会被保留:(
感谢您的任何提示!