新手问题 Ruby China 搜索之后可不可以加个按时间排序

Liu-XiaoDao · 2018年08月16日 · 最后由 IChou 回复于 2018年08月19日 · 1290 次阅读

搜索内容之后,所有的内容都混在一起,能不能加几个排序,比如:按时间,按点赞,等等....

ruby-china 现在应该没有实现自己的搜索功能,是借 google 站内搜索的

我也觉得这个 feature 挺有用的,不过要做的话应该需要自己搞个 es 索引?挺大工程的😕

有机器的话我可以贡献代码

u1440247613 回复

有自己的搜索功能呀, homeland 源码:

def index
  params[:q] ||= ""

  search_modules = [Topic, User]
  search_modules << Page if Setting.has_module?(:wiki)
  search_params = {
    query: {
      simple_query_string: {
        query: params[:q],
        default_operator: "AND",
        minimum_should_match: "70%",
        fields: %w(title body name login)
      }
    },
    highlight: {
      pre_tags: ["[h]"],
      post_tags: ["[/h]"],
      fields: { title: {}, body: {}, name: {}, login: {} }
    }
  }
  @result = Elasticsearch::Model.search(search_params, search_modules).page(params[:page])
end
u1440247613 回复

很早就自建 es 了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号