Spring-data-neo4j не индексирует идентификатор объекта

У меня есть этот @NodeEntity

@GraphId @Indexed
private Long id;
private String email;
private String password;
@Indexed
private String names;
private boolean registered;

Однако индексируются все поля (независимо от аннотаций), кроме свойства id. Я знаю это, потому что я запрашиваю индекс с помощью *:* и вызываю .getPropertyKeys() для возвращенного IndexHits.

Это ошибка в SDN, или я должен настроить что-то другое, чтобы идентификатор также индексировался. (С другой стороны, использование QueryResultBuilder возвращает объекты с их идентификаторами на месте.


person Bozho    schedule 11.03.2012    source источник


Ответы (1)


@GraphId предоставляется Neo4j (внутренний идентификатор узла), он не индексируется, и вы можете использовать repository.findOne() или template.getNode(id) для поиска узлов с этим идентификатором.

Я думаю, вы неправильно поняли: IndexHit<Node> возвращает фактические узлы, а не проиндексированные поля.

Как вы «запрашиваете индекс»?

person Michael Hunger    schedule 12.03.2012