首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >搜索neo4j:搜索不起作用?

搜索neo4j:搜索不起作用?
EN

Stack Overflow用户
提问于 2017-01-13 18:59:44
回答 2查看 162关注 0票数 1

我使用了gem searchkick和gem neo4j

代码语言:javascript
复制
class User
  include Neo4j::ActiveNode

  property :first_name
  property :last_name
  property :email

  searchkick callbacks: :async

  def search_data
    {
      first_name: first_name,
      last_name: last_name,
      email: email
    }
  end
end

(User.search 'suresh',字段::first_name,:last_name).count => 22 (User.search‘保险’,字段::first_name,:last_name).count => 0

我想要所有的结果,即使我输入Su,请帮助我?

布莱恩建议

(User.search('su',字段::first_name,:last_name,拼写错误:{edit_distance: 2}).map(&:first_name) => "Sam", "Marilet", "aa", "asd", "Maricel".map(&:first_name) => "Herlinda","Brent","Andy","suresh“

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-27 07:45:24

在研究了大脑的建议和更多的研究之后,我能够通过以下的变化来实现它

更新后的模型如下:

代码语言:javascript
复制
class User
  include Neo4j::ActiveNode

  property :first_name
  property :last_name
  property :email

  searchkick word_start: [:first_name, :last_name]


  def search_data
    {
      first_name: first_name,
      last_name: last_name
    }
end

更新后的查询如下:

代码语言:javascript
复制
  users = User.search('su', operator: "or",
                                    fields: [:first_name, :last_name],
                                    misspellings: {below: 5},
                                    match: :word_start,
                                    where: {id: mutual_stay_pal_ids},
                                    page: params[:page], per_page: 10)

更改后,不要忘记重新索引数据User.reindex

票数 0
EN

Stack Overflow用户

发布于 2017-01-14 15:43:46

您应该能够使用edit_distance选项:

https://github.com/ankane/searchkick#misspellings

示例:

代码语言:javascript
复制
User.search('suresh', fields: [:first_name, :last_name], misspellings: {edit_distance: 2})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41641649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档