首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 4中搜索脚的优化

Rails 4中搜索脚的优化
EN

Stack Overflow用户
提问于 2015-03-19 05:38:21
回答 1查看 505关注 0票数 0

在我的Rails应用程序中,我使用ES和Searchkick来处理搜索。我目前正在做:

代码语言:javascript
复制
class Paper < ActiveRecord::Base
  belongs_to :report
  belongs_to :user
  before_destroy :delete_dependant_papers

  searchkick word_start: [:realname]
end

这是很好的工作,但它不必要地索引每一列。我希望它只索引"realname“列。

然后,我在search_data页面中看到了搜索踢GitHub。这允许我只对某些列进行索引:

代码语言:javascript
复制
class Product < ActiveRecord::Base  
def search_data
    as_json only: [:name, :active]
    # or equivalently
    {
      name: name,
      active: active
    }
  end
end

我怎么把这两者结合起来呢?所以只有一个列是用realname和word_start索引的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-19 09:24:27

search_data方法将允许您索引realname,而word_start将允许您部分匹配数据。所以你的模型应该是这样的:

代码语言:javascript
复制
class Paper < ActiveRecord::Base
  belongs_to :report
  belongs_to :user
  before_destroy :delete_dependant_papers

  searchkick word_start: [:realname]

  def search_data
    as_json only: [:realname]
  end
end

在更改Paper.reindex方法后,需要在控制台中调用search_data

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29137895

复制
相关文章

相似问题

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