Я использую индекс neo4j для полнотекстового поиска в блогах, начиная с findAllByQuery() Метод репозитория не работает для разбивки на страницы. Я пытаюсь использовать (skip/limit) в cypher для достижения этого.Данные весны neo4j Поиск по индексу
@Query("START blog=node:blogSearch({0}) RETURN blog ORDER BY blog.createDate DESC SKIP {1} LIMIT {2}")
Iterable<BlogGraph> findBlogsByQuery(String luceneExpression, int start, int offset);
параметр: luceneExpression: "Название: Foo"
Но я сталкиваюсь некоторые проблемы.
1, Получено ниже исключения, когда метод вызова в первый раз findBlogsByQuery. По-видимому, индекс «blogSearch» еще не создан, но как его создать? Если я использую findAllByQuery() метода хранилища, индекс будет создан при первом я называю это, из дока: http://docs.spring.io/spring-data/neo4j/docs/2.0.0.RELEASE/reference/html/#d0e2031
Error executing statement START blog=node:blogSearch({0}) RETURN blog ORDER BY
blog.createDate DESC SKIP {1} LIMIT {2}; nested exception is
org.springframework.dao.InvalidDataAccessResourceUsageException: Error executing
statement START blog=node:blogSearch({0}) RETURN blog ORDER BY blog.createDate
DESC SKIP {1} LIMIT {2}; nested exception is org.neo4j.cypher.MissingIndexException:
Index `blogSearch` does not exist
2 Скажем индекс «Blogsearch» уже создано, еще один вопрос (NullPointException) выходит, если поиск текста включают в себя пространство, как показано ниже:
параметр: luceneExpression: «название: Foo Foo»
Но я не вижу, это происходит при использовании findAllByQuery() метод репозиторий
BlogGraph.java
@NodeEntity
public class BlogGraph {
@GraphId Long id;
@Indexed
long blogId;
@Indexed(indexName="blogSearch", indexType = IndexType.FULLTEXT)
String title;
...
Любая помощь будет оценена.
Любые обновления о статусе этого? –