Neo4j.rb 如何将其与 Rails 一起使用



我正在使用neo4j版本3.X,我正在使用searchkick

当前使用

User.search(params[:term], operator: 'or',
     fields: [:first_name, :last_name],
     misspellings: { below: 5 },
     match: :word_start,
    page: params[:page], per_page: params[:rpp], padding: params[:offset])

而不是

User.where('(sp.first_name + sp.last_name) =~ ?', /.*#{params[:term].sub(/s/, '')}.*/i)

但是我有问题,我必须在搜索的同时进行更多的密码查询 怎么做?

例如

Neo4j::ActiveBase.new_query.match(n: {User: { uuid: current_user.uuid }}).break
               .match('(n)-[:connected_to {status: 2}]-(sp:User)')
               .return('DISTINCT sp')

我想用名字和姓氏的松弱搜索来搜索此查询

在我的模型中,我定义了searchkick word_start: [:first_name, :last_name]

自从我使用 searchkick 以来已经有一段时间了,但我建议尝试使用 ActiveNode 语法而不是 neo4j-core Query 语法,以便您可以在末尾附加.search

current_user.connected_users.rel_where(status: 2).distinct.search(...)

这是假设存在使用connected_to关系类型的connected_users关联。 在你的User模型中可能有另一个类似的关联,但我不知道它是什么。

我不是 100% 确定distinct是否适用于search,但您也许可以删除.distinct部分,无论如何searchkick可能会返回一个不同的集合。

相关内容

  • 没有找到相关文章

最新更新