过滤器搜索数据的局限性

时间:2017-01-04 09:52:43

标签: neo4j-ogm

我正在探索如何为给定一组搜索参数的任何节点编写通用查询并遇到org.neo4j.ogm.cypher.Filters(在neo4j-ogm-core-2.0.3.jar中)

我希望为ComparisionOperator提供更多选项,例如CONTAINSINSTARTSWITH等。

目前支持的运营商是:

  • EQUALS("=")
  • MATCHES("=~")
  • LIKE("=~", new CaseInsensitiveLikePropertyValueTransformer())
  • GREATER_THAN(">")
  • LESS_THAN("<")

是否有任何计划来增强此功能以支持更多操作?

以下是我使用Filters

的示例
public Collection<User> findUserByFirstNameLike(String firstName) {
    Filters filters = new Filters();
    Filter firstNameFilter = new Filter("firstName", firstName);
    firstNameFilter.setComparisonOperator(ComparisonOperator.LIKE);
    filters.add(firstNameFilter);
    Collection<User> users = session.loadAll(User.class, filters);
    return users;
}

1 个答案:

答案 0 :(得分:1)

DeliveryCompany已在Filters版本neo4j-ogm-core中更新。

此版本中提供了您想要查看的所有3个选项(2.1.0CONTAINSIN)以及:

  • STARTS WITH
  • LESS_THAN("<")
  • LESS_THAN_EQUAL("<=")
  • IS_NULL("IS NULL")
  • ENDING_WITH("ENDS WITH")
  • EXISTS("EXISTS")