Neo4j нечеткий поиск

В моей базе данных Neo4j проекта Spring Data Neo4j 4 у меня есть Product узлы с name а также description строковые свойства.

Мне нужно добавить функциональность нечеткого поиска по этим свойствам. Есть ли в Neo4j/Spring Data Neo4j какие-либо функциональные возможности для реализации этого? Если да / нет, не могли бы вы предложить, как это можно реализовать?

1 ответ

Решение

Если у вас есть хранилище под названием:

public interface ProductRepository extends CrudRepository<Product, Long> {

    List<Product> findByNameLike(String name);

    List<Product> findByDescriptionLike(String description);
}

Затем вы можете сделать что-то вроде этого (начиная с 4.2.0):

List<Product> products = productRepository.findByNameLike("*on*");

который будет использовать подстановочный знак, используя регулярные выражения (см. Cypher =~ оператор).

Отрицаемая версия этого; название findByNameNotLike() также поддерживается.

Другие вопросы по тегам